Вы, конечно же, часто подставляете кавычки, скобочки и прочие странности в уязвимые параметры GET- и POST-запросов. Иногда руками, чтобы посмотреть, не вывалится ли приложение в ошибку, иногда автоматизированно при поиске инъекций тулзами типа sqlmap. Однако, чтобы что-то подставлять, нужно знать параметр, куда именно вставлять.
Как правило, список принимаемых query-параметров можно подсмотреть, проксируя запросы в том же Burp. Однако на множестве сайтов существуют скрытые параметры, которые не видны. Причин может быть много:
- вы не добрались до запросов с ними;
- с текущими правами они не подставляются, но обрабатываются;
- забытый API;
- отладочные аргументы.
Поиск скрытых параметров HTTP-запросов утилитой Arjun
Утилита arjun может найти такие скрытые параметры. Алгоритм работы следующий:
- Имеем вордлист со списком большого количества всех возможных query-параметров.
- Последовательно идем по нему.
- Проверяем ответы. Если параметр отражается, значит, он потенциально уязвим.
Обратите внимание, что скрипт требует requests и наличия второй ветки Python.
Автор: Somdev Sangwan. Скачать утилиту Arjun можете с официальной страницы на Github.