Как получить root шелл на веб-сервере (Backdoor Image)

Взломать сервер непросто, так много способов сделать это, но сейчас мы собираемся загрузить шелл, загрузив обратный бэкдор на веб-сервер.

Есть так много способов и сайтов, которые позволяют загружать изображения аватаров и позволяют редактировать профиль.

Давайте начнем!

Для этого урока я буду использовать DVWA для загрузки простого шелла и с расширением .php с низкой степенью защиты в DVWA.

 

 

Таким образом, поскольку вы можете увидеть скриншот выше, я смог загрузить оболочку на веб-сервере с помощью простого расширения .php (backdoor.php), которое иногда не работало для некоторых сайтов, потому что они ограничивали типы файлов.

Давайте попробуем изменить низкую безопасность в среде DVWA.

Теперь, если я снова загружу оболочку со средней степенью безопасности, я получаю эту ошибку .. (Your image was not uploaded. We can only accept JPEG or PNG images.)

Теперь, как вы можете видеть, я пытаюсь загрузить backdoor.php, но не удалось, потому что веб-приложение принимает только загрузку файла image / jpg.

Не беспокойтесь, мы можем перехватить данные POST с помощью некоторых инструментов, чтобы обойти это и получить доступ к нашему backdoor в расширении PHP.

Так что стреляйте в burpsuit.

Сравните низкий уровень безопасности и Средний уровень безопасности

Низкий уровень

 <?php

if( isset( $_POST[ 'Upload' ] ) ) {
// Where are we going to be writing to?
$target_path = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";
$target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] );

// Can we move the file to the upload folder?
if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) {
// No
echo '<pre>Your image was not uploaded.</pre>';
}
else {
// Yes!
echo "<pre>{$target_path} succesfully uploaded!</pre>";
}
}

?> 

Средний уровень


<?php

if( isset( $_POST[ 'Upload' ] ) ) {
// Where are we going to be writing to?
$target_path = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";
$target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] );

// File information
$uploaded_name = $_FILES[ 'uploaded' ][ 'name' ];
$uploaded_type = $_FILES[ 'uploaded' ][ 'type' ];
$uploaded_size = $_FILES[ 'uploaded' ][ 'size' ];

// Is it an image?
if( ( $uploaded_type == "image/jpeg" || $uploaded_type == "image/png" ) &&
( $uploaded_size < 100000 ) ) {

// Can we move the file to the upload folder?
if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) {
// No
echo '<pre>Your image was not uploaded.</pre>';
}
else {
// Yes!
echo "<pre>{$target_path} succesfully uploaded!</pre>";
}
}
else {
// Invalid file
echo '<pre>Your image was not uploaded. We can only accept JPEG or PNG images.</pre>';
}
}

?> 

Теперь попробуем перехватить HTTP метод Post и изменить его:

 // Is it an image?
if( ( $uploaded_type == "image/jpeg" || $uploaded_type == "image/png" ) &&
( $uploaded_size < 100000 ) ) 

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40