Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ghauri — 고급 크로스 플랫폼 도구로, SQL 인젝션 보안 취약점을 탐지하고 악용하는 과정을 자동화합니다. | Kitploit
도구/GitHubGitHub/r0oth3x49/ghauri
Vulnerability ScannersWeb Application ExploitationWeb SecurityPenetration TestingDatabase Security
GitHubr0oth3x49/ghauri

ghauri

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

저장소 보기
4.1k42210개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

GitHub release GitHub stars GitHub forks GitHub issues GitHub license

Ghauri를 좋아하신다면, 개발자 지원을 고려해 주세요

Buy Me A Coffee

Ghauri

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

ghauri-banner

요구 사항

  • Python 3
  • Python pip3

설치

  • ghauri 디렉토리로 이동합니다.
  • 요구 사항 설치: python3 -m pip install --upgrade -r requirements.txt
  • 실행: python3 setup.py install 또는 python3 -m pip install -e .
  • 이제 간단히 ghauri --help 명령어로 ghauri에 접근하고 실행할 수 있습니다.

또는

  • 설치 문제가 발생하는 경우 이 설치 가이드라인을 따르세요.

Ghauri 다운로드

GitHub 저장소를 클론하여 최신 버전의 Ghauri를 다운로드할 수 있습니다.

root@kitploit:~
git clone https://github.com/r0oth3x49/ghauri.git

기능

  • 다음 유형의 인젝션 페이로드를 지원합니다:
    • Boolean 기반
    • Error 기반
    • Time 기반
    • Stacked Queries
  • 다음 DBMS에 대한 SQL 인젝션을 지원합니다:
    • MySQL
    • Microsoft SQL Server
    • Postgres
    • Oracle
    • Microsoft Access (현재 boolean 기반 blind의 경우 지문 추출만 지원)
  • 다음 인젝션 유형을 지원합니다:
    • GET/POST 기반 인젝션
    • Header 기반 인젝션
    • Cookie 기반 인젝션
    • Multipart Form 데이터 인젝션
    • JSON 기반 인젝션
    • SOAP/XML 기반 인젝션
  • 프록시 옵션 --proxy 지원
  • 텍스트 파일에서 요청 파싱 지원: -r file.txt 스위치
  • dbs/tables/columns/dump 데이터 추출 범위 제한 지원: --start 1 --stop 2 스위치
  • 모든 단계의 재개(resume) 지원 추가
  • URL 인코딩 건너뛰기 스위치 추가: --skip-urlencode
  • boolean/time 기반 인젝션에서 추출된 문자 확인 지원 추가
  • 사용자 요청에 따라 리다이렉트 처리 지원 추가
  • sql-shell 스위치 지원: --sql-shell (실험적)
  • fresh-queries 스위치 지원: --fresh-queries
  • 호스트명 추출 스위치 추가: --hostname
  • GitHub에서 ghauri 업데이트 스위치 추가: --update
    • 참고: 이 스위치가 향후 업데이트에서 작동하려면 ghauri가 GitHub에서 클론/설치되어 있어야 합니다. 이전 버전 사용자의 경우 (git으로 설치한 경우) git pull을 실행하여 이 업데이트를 받아야 하며, 향후 업데이트는 ghauri --update 명령어로 최신 버전의 ghauri를 받을 수 있습니다.

고급 사용법

root@kitploit:~

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


법적 고지

root@kitploit:~
Ghauri를 사전 상호 동의 없이 대상을 공격하는 데 사용하는 것은 불법입니다.
최종 사용자는 모든 해당 지역, 주 및 연방 법률을 준수할 책임이 있습니다.
개발자는 어떠한 책임도 지지 않으며, 이 프로그램의 오용이나 손해에 대해 책임을 지지 않습니다.

TODO

  • 인라인 쿼리 지원 추가
  • Union 기반 쿼리 지원 추가

왜 Ghauri를 선택해야 하는가

Ghauri를 SQLMap과 비교하여 성공적인 사용 사례를 강조하는 수많은 기사와 게시물이 있습니다. 제가 직접 Ghauri를 SQLMap과 비교하는 것은 아니지만, 많은 사용자들이 그렇게 해왔습니다. 이 프로젝트를 시작한 이유는 일상 업무에서 간단해 보이는 SQL 인젝션조차도 SQLMap을 효과적으로 구성하고 사용하는 데 상당한 어려움을 자주 겪었기 때문입니다. 이러한 인젝션이 단순해 보임에도 불구하고 SQLMap은 종종 탐지에 실패했습니다. 친구의 격려로 저만의 도구를 만들기로 결심했습니다. 각각 특정 사례에 맞춰진 수많은 익스플로잇 스크립트를 개발해 왔고, 이러한 기술들을 하나의 모듈로 통합하면 큰 이점이 있을 것이라 생각했습니다. 이것이 Ghauri의 탄생으로 이어졌고, 커뮤니티로부터 좋은 반응을 얻어 효과성으로 인해 긍정적인 피드백과 별점을 받았습니다.

Stamparam조차도 Ghauri를 인정하며, 트윗에서 "내부 구조의 재작성"이라고 설명하여 내부 메커니즘의 중요성을 강조했습니다.

예를 들어, 취약한 HTTP 요청을 파일(인증 뒤의 SQLi)에 저장하고, -r 스위치를 사용하여 Ghauri와 SQLMap 모두에 제공할 수 있습니다. 사용자 정의 구성 없이도 결과는 스스로 말해줄 것입니다.

Ghauri는 브라우저와 유사한 방식과 자체적인 고유 방법을 모두 사용하여 작동하며, 자동으로 다른 추출 기술과 우회 방법으로 전환합니다. 다시 말하지만, 이는 직접적인 비교가 아닙니다. Ghauri는 아직 구현해야 할 많은 기능이 있는 반면 SQLMap은 이미 기능이 풍부하기 때문입니다. 그러나 Ghauri는 필요한 작업을 일관되게 수행합니다.

이 도구를 개발한 이후로, Ghauri가 아직 개선 중인 몇 가지 경우를 제외하고는 SQLMap을 거의 사용하지 않습니다.

직접 사용해 보시길 권장합니다. 감사합니다.

도구 다운로드
  • 문제가 있는 HTTP 코드 무시 스위치 추가 (예: 401): --ignore-code
  • 테이블의 항목 개수 조회 스위치 추가: --count
  • 텍스트 파일에 나열된 여러 대상 스캔 스위치 추가: -m (실험적)
  • base64 역직렬화 가능한 GET 매개변수의 자동 탐지 및 익스플로잇 추가 (실험적)
  • 임의 HTTP User-Agent 지원: --random-agent, --mobile
  • r0ot h3x49