Вопрос или проблема
Существует ли способ позволить SQLMAP обрабатывать общую информацию об ошибках, такую как ‘Синтаксическая ошибка’, в последующем GET-запросе, который запрашивается после переадресации 301?
Таким образом, (общий) результат/ошибка не содержится непосредственно в ответе.
Ответ или решение
Для использования SQLMap в ситуации, когда полезная нагрузка (payload) вставляется в POST-запрос и происходит перенаправление с ошибкой (например, "Syntax error") в GET-запросе, необходимо следовать определенным шагам и учесть нюансы работы инструмента. Вот подробное руководство по решению данной проблемы.
Шаг 1: Подготовка к выполнению SQLMap
-
Убедитесь, что у вас установлен SQLMap. Если он не установлен, вы можете скачать его с официального репозитория GitHub.
-
Соберите информацию о целевом препарате. Вам нужно узнать полный URL-адрес системы, параметры POST-запроса и, если это необходимо, заголовки, такие как
User-Agent
,Cookie
и т.д. Для этого можно использовать инструменты типаBurp Suite
илиPostman
для перехвата и анализа запросов.
Шаг 2: Выполнение первоначального запроса
-
Реализуйте команду SQLMap для выполнения POST-запроса. Используйте флаг
--data
для указания полезной нагрузки. Если вы знаете, что сервер редиректит вас после выполнения POST-запроса, можете указать флаг--follow
:sqlmap -u "http://example.com/your-endpoint" --data "param1=value1¶m2=value2" --follow --dbs
Шаг 3: Обработка перенаправлений и ошибок
-
Обработка перенаправлений. Если сервер отправляет код 301, SQLMap по умолчанию будет следовать за перенаправлением. Тем не менее, если вы хотите, чтобы SQLMap обрабатывал ошибки, возникающие после перенаправления, вы можете добавить флаг
--ignore-code
для игнорирования правильных HTTP-кодов. Например:sqlmap -u "http://example.com/your-endpoint" --data "param1=value1¶m2=value2" --follow --ignore-code=200,301 --level=5 --risk=3
Шаг 4: Извлечение информации об ошибках
-
Извлечение информации об ошибках. SQLMap может извлекать текст ошибки в случае обнаружения SQL-инъекции. Для анализа ошибок, которые могут появляться на странице после перенаправления, Включите режим обнаружения ошибок с помощью флага
--error
.sqlmap -u "http://example.com/your-endpoint" --data "param1=value1¶m2=value2" --error
Шаг 5: Анализ результатов
- Анализируйте вывод SQLMap. После выполнения команды внимательно просмотрите вывод, чтобы увидеть расшифровку ошибок и возможные уязвимости. SQLMap может предоставить вам различную информацию о базе данных, если инъекция была успешна.
Заключение
Используя SQLMap с правильно настроенными параметрами, вы сможете обойти редиректы и эффективно анализировать ошибки, связанные с SQL-инъекциями, даже если они проявляются лишь после перенаправления. Важно помнить, что работа с такими инструментами требует хорошего понимания их возможностей и ограничений, а также ответственности в использовании в соответствии с законами вашей страны.