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

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

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

  #1  
Старый 23.06.2018, 13:09
Leendesst
Guest
Сообщений: n/a
Провел на форуме:
13749

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

Здравствуйте, уважаемые форумчане. Столкнулся с такой забавной дырой. Крутится как error-based, тайм блинд и просто как блиндовая. Но нужно раскрутить как stacked queries.

Вот уязвимый код.

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SELECT * FROM group WHERE name='$123'"[/COLOR][COLOR="#007700"]);
if([/COLOR][COLOR="#0000BB"]$sv[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]num_rows[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$select[/COLOR][COLOR="#007700"])){
[/
COLOR][COLOR="#0000BB"]$sv[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"DELETE FROM group WHERE name='$123' AND type='1' OR name='$123' AND type='0'"[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$st[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"INSERT INTO logs VALUES(null, '$1234', '$123', '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]time[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]"')"[/COLOR][COLOR="#007700"]);
echo[/COLOR][COLOR="#DD0000"]" Разбанен"[/COLOR][COLOR="#007700"];
}
else echo[/COLOR][COLOR="#DD0000"]"Ошибка"[/COLOR][COLOR="#007700"];
}
else echo[/COLOR][COLOR="#DD0000"]"Ошибка"[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]?>
[/COLOR][/COLOR] 
Если юзать POST зпрос, натыкаемся на SELECT. Вроде как можно через Cookie внедрить stacked queries.

Условие: Запрос происходит только тогда, если в бд есть запись, в моём случае в таблице всего 3 записи = 3 попытки
 
Ответить с цитированием

  #2  
Старый 23.06.2018, 18:07
crlf
Guest
Сообщений: n/a
Провел на форуме:
169212

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

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

Есть первая инъекция в селекте, если БД или приложение имеет поддержку "stacked queries". Можно сразу внедрить произвольный запрос, типа:

Цитата:
Сообщение от None  
123'; INSERT INTO known_table VALUES(1,2,3,4,5...etc); -- 1
И посмотреть на результат в выводе из таблицы "known_table".

Если нужно просто получить вывод, без последовательных запросов, то в запросе с инсертом, при возможности просмотра содержимого таблицы "logs", внедряемся через $1234 примерно так:

Цитата:
Сообщение от None  
123',(SELECT version()), '1529762427') -- 1
 
Ответить с цитированием

  #3  
Старый 23.06.2018, 20:10
Leendesst
Guest
Сообщений: n/a
Провел на форуме:
13749

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

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

Если я правильно понимаю, то тут контекст особо не важен и в какой запрос внедряться не имеет значения.
Есть первая инъекция в селекте, если БД или приложение имеет поддержку "stacked queries". Можно сразу внедрить произвольный запрос, типа:
И посмотреть на результат в выводе из таблицы "known_table".
Если нужно просто получить вывод, без последовательных запросов, то в запросе с инсертом, при возможности просмотра содержимого таблицы "logs", внедряемся через $1234 примерно так:
Спасибо за отклик) Не вышло, ибо query поддерживает только 1 запрос(

Может кому эта тема ещё пригодится, так как "stacked queries" очень полезная вещь, но редкая(
 
Ответить с цитированием

  #4  
Старый 24.06.2018, 21:37
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


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

могу ошибаться, но если mysql, то stacked queries не получится. Блин, ща некогда разбирать, но на вскидку надо думать в сторону того что в post (select) внедрить типа and 1=0 union select ..., тогда delete не выполнится из-за ошибки, а в куки внедрять запрос уже правильный для insert и с коментарием в конце, тогда пост запрос в insert будет проигнорирован
__________________
Карфаген должен быть разрушен...
 
Ответить с цитированием

  #5  
Старый 24.06.2018, 23:32
Leendesst
Guest
Сообщений: n/a
Провел на форуме:
13749

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

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

могу ошибаться, но если mysql, то stacked queries не получится. Блин, ща некогда разбирать, но на вскидку надо думать в сторону того что в post (select) внедрить типа and 1=0 union select ..., тогда delete не выполнится из-за ошибки, а в куки внедрять запрос уже правильный для insert и с коментарием в конце, тогда пост запрос в insert будет проигнорирован
Ну слушай. Недавно сливал сайтец, там sqlmap смог взять как stacked queries, там MySQL
 
Ответить с цитированием

  #6  
Старый 24.06.2018, 23:39
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


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

Ну может слишком специфичное php-приложение (в pma тоже можно stacked queries делать), либо как uговорится одно из двух)
__________________
Карфаген должен быть разрушен...
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ