• XSS.stack #1 – первый литературный журнал от юзеров форума

Помощь с оптимизацией Time-Based Blind SQLi для выгрузки большой таблицы (~360k строк)

FusBOTnet

CD-диск
Пользователь
Регистрация
21.10.2025
Сообщения
16
Реакции
2
Здраствуйте, я столкнулся с классической ситуацией, но сложной ситуацией. Нашел SQLi на веб сайте (OpenCart) но она работает только как Time-Based Blind (используется SLEEP()). Все другие техники (Error-based, UNION) блокируются WAF, даже с использованием тамперов (space2comment, between, charencode).
Моя цель выгрузить таблицу oc_order, содержащую ~360 000 строк и около 40 столбцов (данные заказов: email, телефоны, суммы). При текущей скорости (используя sqlmap --time-sec=4) извлечение одного короткого столбца для одной строки занимает ~5 минут.

Я пробывал --technique=E (Error-based) не находит уязвимость (all tested parameters do not appear to be injectable), --technique=U (UNION) аналогично
Тамперы space2comment, between, randomcase, charencode помогают подключиться, но не меняют тип на Error-based/UNION
Опции --level=5 --risk=3, --no-cast, --hex, --predict-output

--technique=T инъекция подтверждена, sqlmap смог перечислить таблицы и извлечь несколько имен столбцов очень медленно
Так же наблюдаются [CRITICAL] connection reset при увеличении --threads. Частые 404 и 302 редиректы

Так вот, имеет ли смысл в принципе пытаться выгружать 360k строк через Time-Based Blind, или это всегда будет непрактично? Каков практический потолок скорости для такого типа инъекции в условиях работающего WAF?
Можете ли порекомендовать кастомные скрипты или форки sqlmap, или что вообщем можете посоветовать в данной ситуации



[CODE=sql]Parameter: route (GET)
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: route=product/search' AND (SELECT 9419 FROM (SELECT(SLEEP(5)))CSQY) AND 'JfLS'='JfLS[/CODE]
 
Так вот, имеет ли смысл в принципе пытаться выгружать 360k строк через Time-Based Blind
Не имеет.

посоветовать в данной ситуации
Ковырять руками и пытаться обходить WAF.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Так вот, имеет ли смысл в принципе пытаться выгружать 360k строк через Time-Based Blind
если криптотаргет то имеет смысл. Запусти на сервере пусть сливается, а сам параллельно ищи хотя бы просто blind
 
Н
если криптотаргет то имеет смысл. Запусти на сервере пусть сливается, а сам параллельно ищи хотя бы просто blind
Нашел способ с union
 
На будущее тебе, что бы не лезли дурные мысли в голову сливать 360к через тайм.
 
а попробовать хэш вытащить текущего юзера или админа возможно? и залететь сразу в админку(брутить конечно придётся)? но вытаскивать 360к строк через слепую, это мазохизм
 
а попробовать хэш вытащить текущего юзера или админа возможно? и залететь сразу в админку(брутить конечно придётся)? но вытаскивать 360к строк через слепую, это мазохизм
Я нашел способ с UNION, 10к строк в формате:
  1. email
  2. firstname
  3. ip
  4. lastname
  5. payment_address_1
  6. payment_address_2
  7. payment_address_format
  8. payment_firstname
  9. payment_lastname
  10. telephone
  11. total
  12. user_agent
    он дампнул за 7 часов пока я спал, в таблице где админы , пароль в Sha1 + salt
 
Я нашел способ с UNION, 10к строк в формате:
  1. email
  2. firstname
  3. ip
  4. lastname
  5. payment_address_1
  6. payment_address_2
  7. payment_address_format
  8. payment_firstname
  9. payment_lastname
  10. telephone
  11. total
  12. user_agent
    он дампнул за 7 часов пока я спал, в таблице где админы , пароль в Sha1 + salt
а тот же запрос который приводит к sql инъекции, тестил да поддоменах или как правильно говориться субдоменах, может быть там это тоже может залететь толко уже не слепая а видимая, стэк куэрис, ну это как идея которая может не срабоать в 90%, но как идея для тестов))) хэш пароля это уже хорошо, главное чтобы он был верно извлечён через инекцию и ничего по дороге не пропало, я думаю инода изза сети могут быть погрешности, ну будем считать что это не так
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх