
SleuthQL은 python3 기반으로 개발된 도구로, 사이트에서 SQL 취약점이 존재할 가능성이 있는 주소를 대량으로 크롤링하는 데 사용됩니다. 또한 burp 및 sqlmap과 연동하여 대량 주입 테스트를 수행할 수 있습니다. sqlmap으로 수동 단일 스레드 방식을 사용해 주입 지점을 하나씩 식별하는 것과 비교하면 훨씬 편리합니다.
SleuthQL은 SQL과 유사한 구문을 포함하는 매개변수와 값을 식별하는 python3 스크립트입니다. 식별되면 SleuthQL은 SQL-esque 변수가 식별된 각 매개변수에 SQLMap 식별자(*)를 삽입합니다.
SleuthQL은 Burp의 프록시 기록(Proxy History) 내보내기가 필요합니다. 이 내보내기를 얻으려면 프록시 기록 탭으로 이동하여 모든 항목을 선택하고 "Save Items"를 클릭하면 됩니다. 각 요청이 base64 인코딩으로 저장되었는지 확인하세요. SleuthQL이 프록시 기록 파일을 스캔할 때 일반 URL 매개변수 외에도 다음 요청 콘텐츠 유형에서 취약한 매개변수를 식별할 수 있습니다:
application/jsonapplication/x-www-form-urlencodedmultipart/form-data이 도구가 제대로 작동하지 않는 경우도 있습니다. 즉, 중첩된 콘텐츠 유형(예: JSON 데이터 내부의 base64 인코딩 매개변수)이 있으면 해당 매개변수를 식별할 수 없습니다. 또한 쿠키(Cookies)는 다루지 않습니다. CloudFlare와 같은 서비스가 우리가 관심 없는 매개변수를 너무 자주 플래그하기 때문입니다.
Burp Pro의 스캐너는 훌륭하지만 SQLMap만큼 기능이 완전하지는 않습니다. 따라서 요청의 우선순위를 정해 배치 방식으로 SQLMap에 입력하고 이 방식으로 결과를 살펴보면 SQL 인젝션 탐지율을 높일 수 있습니다.
Usage:
.:/+ssyyyyyyso+/:.
-/s s/.
.+| SleuthQL |y+.
-s| SQL Injection Discovery Tool |s-
.shh| |ohs.
+hhhho+shhhhhhhhhhhs/hhhhhhhhhhhhhhhh.-hh/
`shhhhhhy:./yo/:---:/:`hhhhhhhhhhhhhhhs``ohho
shhhhhhhhh-`-//::+os: +hhhhhhhhh+shhhh.o-/hhho
+hhhhhhhhh:+y/.:shy/ /hhhhhhhhh/`ohhh-/h-/hhhh/
.hhhhhhhhhsss`.yhhs` .shhhhhhhh+-o-hhh-/hh`ohhhhh`
+hhhhhhhhhhhhyoshh+. `shhhhhs/-oh:ohs.ohh+`hhhhhh/
shhhhhhhhhhhhhhhhhhh/ -//::+yhy:oy::yhhy`+hhhhhho
yhhhhhhhhhhhhhhhhhhh:-:. `+y+-/:/yhhhy.-hhhhhhhs
shhhhhhhhhhhhhhhhhhh+ :/o+:.`` -hhhhhs`.hhhhhhhho
+hhhhhhhs/hhhhhhhhhhy::/:/yhhhy: .+yy/ :hhhhhhhhh/
.hhhhhhh:.hhhhhhhhhhhhhhhhhhhhhhs/- -shhhhhhhhhh`
+hhhhhh+ /hhhhhhhhhhhhhhhhhhhhho/:`+hhhhhhhhhhh/
shhhhy+ -shhhhhhhhhhhhhhhhhhh.// yhhhhhhhhhho
`ohh+://+/.`-/++ooooooooooyhhhhy.`hhhhhhhhhho
/hhhhhhhhhso++//+++oooo+:`sh+`-yhhhhhhhhh/
.s s.
-s Rhino Security Labs s-
.+y Dwight Hohnstein y+.
./s s/.
.:/+osyyyyyyso+/-.
sleuthql.py -d example.com -f burpproxy.xml
SleuthQL is a script for automating the discovery of requests matching
SQL-like parameter names and values. When discovered, it will display
any matching parameters and paths that may be vulnerable to SQL injection.
It will also create a directory with SQLMap ready request files.
Options:
-h, --help show this help message and exit
-d DOMAINS, --domains=DOMAINS
Comma separated list of domains to analyze. i.e.:
google.com,mozilla.com,rhinosecuritylabs.com
-f PROXY_XML, --xml=PROXY_XML
Burp proxy history xml export to parse. Must be base64
encoded.
-v, --verbose Show verbose errors that occur during parsing of the
input XML.
잠재적으로 취약한 각 요청에 대해 SQLMap 매개변수화된 요청이 $(pwd)/$domain/ 아래에 텍스트 파일로 저장됩니다.
이 코드는 BSD 3-Clause Clear License에 따라 라이선스가 부여되며, 이 라이선스는 본 코드의 책임, 보증 및 특허 사용을 제한합니다. 자세한 내용은 license.txt를 참조하십시오.