
고급 크로스 플랫폼 도구로, SQL 인젝션 보안 취약점을 탐지하고 악용하는 과정을 자동화합니다.
SQL 인젝션 취약점 탐지 및 익스플로잇 과정을 자동화하는 고급 크로스 플랫폼 도구입니다.

pip3python3 -m pip install --upgrade -r requirements.txtpython3 setup.py install 또는 python3 -m pip install -e .ghauri --help 명령어로 ghauri에 접근하고 실행할 수 있습니다.또는
GitHub 저장소를 클론하여 최신 버전의 Ghauri를 다운로드할 수 있습니다.
git clone https://github.com/r0oth3x49/ghauri.git
--proxy 지원-r file.txt 스위치--start 1 --stop 2 스위치--skip-urlencode--sql-shell (실험적)--fresh-queries--hostname--update
ghauri --update 명령어로 최신 버전의 ghauri를 받을 수 있습니다.
Author: Nasir khan ()
usage: ghauri -u URL [OPTIONS]
SQL 인젝션 탐지 및 익스플로잇을 위한 크로스 플랫폼 파이썬 기반 고급 도구입니다.
General:
-h, --help 도움말을 표시합니다.
--version 버전을 표시합니다.
--update ghauri를 업데이트합니다.
-v VERBOSE 상세 수준: 1-5 (기본값 1).
--batch 사용자 입력을 묻지 않고 기본 동작을 사용합니다.
--flush-session 현재 대상의 세션 파일을 삭제합니다.
--fresh-queries 세션 파일에 저장된 쿼리 결과를 무시합니다.
--test-filter 제목별로 테스트 페이로드를 선택합니다 (실험적).
Target:
대상(들)을 정의하려면 다음 옵션 중 하나 이상을 제공해야 합니다.
-u URL, --url URL 대상 URL (예: 'http://www.site.com/vuln.php?id=1').
-m BULKFILE 텍스트 파일에 나열된 여러 대상을 스캔합니다.
-r REQUESTFILE HTTP 요청을 파일에서 불러옵니다.
Request:
이 옵션들은 대상 URL에 연결하는 방법을 지정하는 데 사용됩니다.
-A , --user-agent HTTP User-Agent 헤더 값
-H , --header 추가 헤더 (예: "X-Forwarded-For: 127.0.0.1")
--mobile HTTP User-Agent 헤더를 통해 스마트폰을 모방합니다.
--random-agent 무작위로 선택된 HTTP User-Agent 헤더 값을 사용합니다.
--host HTTP Host 헤더 값
--data POST로 전송할 데이터 문자열 (예: "id=1")
--cookie HTTP Cookie 헤더 값 (예: "PHPSESSID=a8d127e..")
--referer HTTP Referer 헤더 값
--headers 추가 헤더들 (예: "Accept-Language: fr\nETag: 123")
--proxy 대상 URL에 연결할 때 프록시를 사용합니다.
--delay 각 HTTP 요청 사이의 지연 시간(초)
--timeout 연결 시간 초과까지 기다리는 시간(초) (기본값 30)
--retries 연결 관련 오류 발생 시 재시도 횟수 (기본값 3)
--confirm 인젝션된 페이로드를 확인합니다.
--ignore-code (문제가 있는) HTTP 오류 코드를 무시합니다 (예: 401)
--skip-urlencode 페이로드 데이터의 URL 인코딩을 건너니다.
--force-ssl SSL/HTTPS 사용을 강제합니다.
Optimization:
이 옵션들은 ghauri의 성능을 최적화하는 데 사용됩니다.
--threads THREADS 최대 동시 HTTP(s) 요청 수 (기본값 1)
Injection:
이 옵션들은 테스트할 매개변수를 지정하고, 사용자 정의 인젝션 페이로드 및 선택적 태링 스크립트를 제공하는 데 사용됩니다.
-p TESTPARAMETER 테스트 가능한 매개변수(들)
--dbms DBMS 백엔드 DBMS를 지정된 값으로 강제 설정합니다.
--prefix 인젝션 페이로드 접두사 문자열
--suffix 인젝션 페이로드 접미사 문자열
--safe-chars 특정 문자(들)의 URL 인코딩을 건너니다: (예: --safe-chars="[]")
--fetch-using 다른 연산자를 사용하여 데이터를 가져옵니다: (예: --fetch-using=between/in)
Detection:
이 옵션들은 탐지 단계를 사용자 정의하는 데 사용됩니다.
--level LEVEL 수행할 테스트 수준 (1-3, 기본값 1)
--code CODE 쿼리가 True로 평가될 때 매칭할 HTTP 코드
--string 쿼리가 True로 평가될 때 매칭할 문자열
--not-string 쿼리가 False로 평가될 때 매칭할 문자열
--text-only 텍스트 내용만을 기준으로 페이지를 비교합니다.
Techniques:
이 옵션들은 특정 SQL 인젝션 기술의 테스트를 조정하는 데 사용됩니다.
--technique TECH 사용할 SQL 인젝션 기술 (기본값 "BEST")
--time-sec TIMESEC DBMS 응답을 지연시킬 시간(초) (기본값 5)
Enumeration:
이 옵션들은 백엔드 데이터베이스 관리 시스템 정보, 구조 및 테이블에 포함된 데이터를 열거하는 데 사용됩니다.
-b, --banner DBMS 배너를 검색합니다.
--current-user 현재 DBMS 사용자를 검색합니다.
--current-db 현재 DBMS 데이터베이스를 검색합니다.
--hostname DBMS 서버 호스트명을 검색합니다.
--dbs DBMS 데이터베이스를 열거합니다.
--tables DBMS 데이터베이스 테이블을 열거합니다.
--columns DBMS 데이터베이스 테이블 컬럼을 열거합니다.
--count 테이블(들)의 항목 수를 검색합니다.
--dump DBMS 데이터베이스 테이블 항목을 덤프합니다.
-D DB 열거할 DBMS 데이터베이스
-T TBL 열거할 DBMS 데이터베이스 테이블(들)
-C COLS 열거할 DBMS 데이터베이스 테이블 컬럼(들)
--start dbs/tables/columns/dump에 대해 오프셋부터 항목을 검색합니다.
--stop dbs/tables/columns/dump에 대해 오프셋까지 항목을 검색합니다.
--sql-shell 대화형 SQL 셸을 프롬프트합니다 (실험적).
Example:
ghauri -u http://www.site.com/vuln.php?id=1 --dbs
Ghauri를 사전 상호 동의 없이 대상을 공격하는 데 사용하는 것은 불법입니다.
최종 사용자는 모든 해당 지역, 주 및 연방 법률을 준수할 책임이 있습니다.
개발자는 어떠한 책임도 지지 않으며, 이 프로그램의 오용이나 손해에 대해 책임을 지지 않습니다.
Ghauri를 SQLMap과 비교하여 성공적인 사용 사례를 강조하는 수많은 기사와 게시물이 있습니다. 제가 직접 Ghauri를 SQLMap과 비교하는 것은 아니지만, 많은 사용자들이 그렇게 해왔습니다. 이 프로젝트를 시작한 이유는 일상 업무에서 간단해 보이는 SQL 인젝션조차도 SQLMap을 효과적으로 구성하고 사용하는 데 상당한 어려움을 자주 겪었기 때문입니다. 이러한 인젝션이 단순해 보임에도 불구하고 SQLMap은 종종 탐지에 실패했습니다. 친구의 격려로 저만의 도구를 만들기로 결심했습니다. 각각 특정 사례에 맞춰진 수많은 익스플로잇 스크립트를 개발해 왔고, 이러한 기술들을 하나의 모듈로 통합하면 큰 이점이 있을 것이라 생각했습니다. 이것이 Ghauri의 탄생으로 이어졌고, 커뮤니티로부터 좋은 반응을 얻어 효과성으로 인해 긍정적인 피드백과 별점을 받았습니다.
Stamparam조차도 Ghauri를 인정하며, 트윗에서 "내부 구조의 재작성"이라고 설명하여 내부 메커니즘의 중요성을 강조했습니다.
예를 들어, 취약한 HTTP 요청을 파일(인증 뒤의 SQLi)에 저장하고, -r 스위치를 사용하여 Ghauri와 SQLMap 모두에 제공할 수 있습니다. 사용자 정의 구성 없이도 결과는 스스로 말해줄 것입니다.
Ghauri는 브라우저와 유사한 방식과 자체적인 고유 방법을 모두 사용하여 작동하며, 자동으로 다른 추출 기술과 우회 방법으로 전환합니다. 다시 말하지만, 이는 직접적인 비교가 아닙니다. Ghauri는 아직 구현해야 할 많은 기능이 있는 반면 SQLMap은 이미 기능이 풍부하기 때문입니다. 그러나 Ghauri는 필요한 작업을 일관되게 수행합니다.
이 도구를 개발한 이후로, Ghauri가 아직 개선 중인 몇 가지 경우를 제외하고는 SQLMap을 거의 사용하지 않습니다.
직접 사용해 보시길 권장합니다. 감사합니다.
--ignore-code--count-m (실험적)--random-agent, --mobile