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

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

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

  #1  
Старый 20.04.2016, 14:35
user6334
Guest
Сообщений: n/a
Провел на форуме:
91312

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

Имеем уязвимый запрос типа SELECT ...

однако, скрипт выводит данные из таблиц не сразу, а предварительно из обрабатывает следующим образом:

- обрабатываются только определенные целые числовые значения, например, 343, 45, 34556, 12345

полный список известен

- повторяющиеся значения исключаются

Да, есть вариант выводить информацию посимвольно. А есть ли более быстрый метод?

скажем ... UNION SELECT ascii(mid(version(),1,1)) UNION select ascii(mid(version(),2,1))

ну и как-то преобразовать, чтобы они в набор попали.

Выведет примерно так:

53

128

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

  #2  
Старый 20.04.2016, 15:43
user6334
Guest
Сообщений: n/a
Провел на форуме:
91312

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

Поразмыслив около часа, нашел одно решение. Делим выходной диапазон на 2. Теперь перекрываем 2 диапазона. Получаем

UNION SELECT 500+instr('a...z',mid(version(),1,1)) union select 6000 UNION SELECT 500+instr('a...z',mid(version(),2,1)) union select 6001 ...

Потом разбираем полученные результаты, если повторений нет, имеем чередование и все хорошо. Ну допустим мы поставили 40, т.е. 40/2=20 различных символов. При повторении символов картина будет иная и диапазоны чередоваться не будут, значит формируем новый запрос с того места, где прекратилось чередование.

Итог, до 20 символов из БД за один запрос. И это в слепой инъекции. Круто?
 
Ответить с цитированием

  #3  
Старый 20.04.2016, 16:01
faza02
Banned
Регистрация: 21.11.2007
Сообщений: 181
Провел на форуме:
1066435

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

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

  #4  
Старый 20.04.2016, 16:13
user6334
Guest
Сообщений: n/a
Провел на форуме:
91312

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

Цитата:
Сообщение от yarbabin  
yarbabin said:

/threads/119047/
читал, там нет такого способа
 
Ответить с цитированием

  #5  
Старый 20.04.2016, 18:22
user6334
Guest
Сообщений: n/a
Провел на форуме:
91312

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

Придумал новый сверхбыстрый способ для слепой инъекции. Если у нас 160 разных значений, получим где-то 22 символа за запрос. Фишка вот в чем, приводим представление выводимых комбинаций значений к бинарному коду. Для одного символа потребуется всего 7 бит, вот и посчитайте. Притом, что у меня значения сортирует, а если без сортировки, то это будет дискретизация разряда бинарной последовательности, но это уже теория комплексных чисел, а я в школе плохо учился)
 
Ответить с цитированием

  #6  
Старый 20.04.2016, 20:22
faza02
Banned
Регистрация: 21.11.2007
Сообщений: 181
Провел на форуме:
1066435

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

чето я туплю сегодня, давайте с примерами из консоли на вывод хеша
 
Ответить с цитированием

  #7  
Старый 20.04.2016, 20:54
t0ma5
Guest
Сообщений: n/a
Провел на форуме:
300820

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

слепая инъекция != фильтрация выходных данных

слепая инъекция = отсутствие каких либо выходных данных

под данными подразумеваются данные полученные из бд с помощью sql-j

оперировать можно только на реакции приложения(https://www.owasp.org/index.php/Blind_SQL_Injection)

может быть я чего то не понимаю, действительно покажите пример
 
Ответить с цитированием

  #8  
Старый 20.04.2016, 23:11
user6334
Guest
Сообщений: n/a
Провел на форуме:
91312

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

Yarbabin в сверху уже кинул ссылку, ситуация как в примере [4], только новости не в get, a формируются списком из номеров на странице. Так понятно? Т.е. Совсем ничего не выводиться, а только номера. Всего около 160 новостей, которые отсортированы попорядку. Суть метода пояснил выше. Чуть позже выложу реализацию, код весьма длинный.
 
Ответить с цитированием

  #9  
Старый 21.04.2016, 00:14
<Cyber-punk>
Участник форума
Регистрация: 01.10.2009
Сообщений: 105
Провел на форуме:
559542

Репутация: 94
Отправить сообщение для <Cyber-punk> с помощью ICQ
По умолчанию

Тема не новая, но я ее люблю (больше, чем бинарный поиск). Называется Bit Shifting, вот оригинальный ресерч.

В октябре писал PoC, где используется как раз эта техника + тема с keep-alive. Не знаю, работает ли он сейчас, поправить будет не сложно, а мне самому лень. Вот результаты, которые он мне давал на реальном сайте:



Те же условия с sqlmap'ом:

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

  #10  
Старый 21.04.2016, 08:16
user6334
Guest
Сообщений: n/a
Провел на форуме:
91312

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

За ссылку спасибо, но Keep-Alive здесь как то не совсем в тему, ведь число запросов к sql- серверу от этого никак не изменится
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ