ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Веб-уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   SQL инъекция, блокируется знак _ (https://forum.antichat.xyz/showthread.php?t=584820)

sygley 29.03.2025 01:22

Добрый день, столкнулся с такой проблемой. при проведении тестирования обнаружил что WAF блокирует знак _ в слепой инъекции на основе времени. переведение запроса в HEX и CHAR не дало никаких результатов, экранирование тоже не помогло . Подскажите, как возможно обойти эту блокировку, так как дальнейшее продвижение без этого невозможно, нельзя использовать information_schema и table_schema.
проверял на основе правильного запроса.
0'XOR(if(LENGTH(DATABASE())=19,sleep(6),0))XOR'Z
знаю длинну бд
чекал на это запросе
0'XOR(if(CHAR_LENGTH(DATABASE())=19,sleep(6),0))XO R'Z

apache2 29.03.2025 12:12

пробовал
Код:

__
, может она рекурсивно не проходит.
или
чисто time based blind sqli

SQL:


Код:

0
'XOR(if(ascii(substring((SELECT username FROM database()LIMIT 1),1,1)) > 97,sleep(6),0))XOR'
Z

есть ещё аналог database() - schema()
но нужно проверить существует ли username, или так же через time-based sqli или так

SQL:


Код:

0
'XOR(if(ascii(substring((SELECT COUNT(username) FROM database()>0,sleep(6),0))XOR'
Z


sygley 29.03.2025 12:50

__ такой вариант пробовал, не помогает.
чтобы эти варианты использовать надо знать именя таблиц
0'XOR(if(ascii(substring((SELECT username FROM database()LIMIT 1),1,1)) > 97,sleep(6),0))XOR'Z
0'XOR(if(ascii(substring((SELECT COUNT(username) FROM database()>0,sleep(6),0))XOR'Z
а как можно узнать имена таблиц не используя при этом знак _ ?

название базы данных известно, может быть можно как то при слепой инъекции вывести все таблицы и посмотреть первый символ первой таблицы без использования table_name?

apache2 29.03.2025 13:03

я же написал как узнать
Цитата:


но нужно проверить существует ли username, или так же через time-based sqli или так
0'XOR(if(ascii(substring((SELECT COUNT(username) FROM database() >0,sleep(6),0))XOR'Z


через time-based blind sqli вот так: Статья - Автоматизация эксплуатации слепой Time-based SQL-инъекции при помощи Burp Suite и WFUZZ

через count вы сами подбирайте имя (брутфорс так сказать)

Тут скорее COUNT или через if exists если вам так понятнее, проверяйте существует ли данная таблица в базе данных database() и ловите на time-based.
Напишите скрипт на python или исопльзуй sniper/cluster bomb в burp suite чтобы перебирать таблицы

Я ещё так понимаю это у вас CTF или таск какой то, т.к на bug bounty вы бы просто отправили что время ответа 6 секунд

sygley 30.03.2025 00:10

а если в имени таблицы будет знак _ то возможно как то обойти такой вариант? HEX или CHAR помогут в этом?

apache2 30.03.2025 12:04

Цитата:


sygley сказал(а):

а если в имени таблицы будет знак _ то возможно как то обойти такой вариант? HEX или CHAR помогут в этом?


не знаю, надо пробовать


Время: 14:00