
InQL은 고급 GraphQL 테스트를 위한 강력한 오픈소스 Burp Suite 확장 프로그램으로, 직관적인 취약점 탐지, 사용자 정의 가능한 스캔, 그리고 원활한 Burp 통합을 제공합니다.
InQL은 오픈 소스 GraphQL 테스트 도구입니다. 이 도구는 GraphQL 테스트 경험을 더욱 효율적이고 효과적으로 만들기 위해 설계된 기능을 제공합니다.
InQL에 대한 신뢰에 감사드립니다. 즐거운 테스트 되세요!
InQL 사용자 인터페이스는 Scanner, Batch Queries, Engine Fingerprinting의 세 가지 주요 구성 요소를 갖추고 있습니다.

Scanner는 InQL의 핵심으로, GraphQL 엔드포인트 또는 로컬 인트로스펙션 스키마 파일을 분석할 수 있습니다. 가능한 모든 쿼리, 뮤테이션, 서브스크립션을 자동으로 생성하여 분석을 위해 구조화된 보기로 구성합니다.
✅ 사용자 정의 가능한 스캔
InQL은 스캔을 사용자 정의할 수 있는 유연성을 제공합니다. 생성된 쿼리의 깊이 또는 들여쓰기에 사용할 공백 수를 조정할 수 있습니다. 또한 'Points of Interest' 스캔을 수행하여 GraphQL 스키마의 잠재적 취약점을 탐지할 수 있습니다.
✅ 관심 지점 분석
관심 지점 스캔을 실행하면 다양한 잠재적 취약점을 포함하는 풍부한 데이터 세트가 제공됩니다. 필요에 따라 이러한 카테고리를 활성화 또는 비활성화할 수 있습니다.
✅ 순환 참조 감지
InQL은 순환 참조 감지를 구현합니다. 스키마 분석 후 스캐너 결과 보기에 잠재적으로 취약한 쿼리가 표시됩니다.
✅ Burp와의 향상된 상호 작용
InQL은 Burp와 원활하게 통합되어 Burp의 모든 GraphQL 요청에서 직접 쿼리를 생성할 수 있습니다. 또한 자동 생성된 쿼리를 추가 분석을 위해 다른 Burp 도구로 보낼 수 있습니다.
✅ 사용자 정의 헤더
도메인별로 사용자 정의 헤더를 설정할 수 있으며, 도메인 목록은 관찰된 트래픽에서 자동으로 채워집니다.
Batch Queries 탭을 사용하면 일괄 GraphQL 공격을 실행할 수 있으며, 이는 제대로 구현되지 않은 속도 제한을 우회하는 데 유용할 수 있습니다.
Burp 네이티브 메시지 편집기에는 이제 추가 'GraphQL (InQL)' 탭이 제공되어 GraphQL 요청을 효율적으로 보고 수정할 수 있습니다. 또한 더 나은 가독성을 위한 스키마 하이라이팅을 지원합니다.
InQL은 이제 GraphiQL 및 GraphQL Voyager 서버를 구현합니다. 분석된 스키마를 이들로 전송하여 분석을 더욱 강화할 수 있습니다!
이 탭을 사용하면 GraphQL URL을 스캔하여 백엔드 서버 기술에 대한 정보를 검색할 수 있습니다.
이 스캐너는 인트로스펙션이 비활성화된 경우 스키마를 재구성하도록 설계되었습니다. Clairvoyance CLI 도구를 기반으로 하며, 정규식 패턴 매칭을 사용하여 스키마 세부 정보를 발견합니다.
InQL을 성공적으로 설치하려면 다음 요구 사항을 충족해야 합니다.
Burp:
Java:
$ sudo apt install -y openjdk-17-jdk
$ java --version
openjdk 17.0.6 2023-01-17
$ # Mac OS & Homebrew:
$ brew install go-task
$ # Debian
$ sudo apt install -y task
$ git clone https://github.com/doyensec/inql
$ cd inql
$ # 선택 사항: dev 브랜치 체크아웃 (깨지거나 불안정할 수 있음!)
$ git checkout dev
$ task all
이렇게 하면 저장소 루트에 InQL.jar 또는 유사한 이름의 파일이 생성됩니다. 이를 Burp에 Java 확장 프로그램으로 로드합니다.
개발 환경
프로젝트에 기여하려는 경우 특별한 환경이 필요하지 않습니다. 변경 사항을 구현할 때마다 프로젝트를 다시 빌드하면 됩니다.
코드 작업 속도를 높이려면 변경 시 확장 프로그램이 자동으로 다시 빌드되도록 할 수 있습니다. --watch / -w 플래그와 함께 kotlin 작업을 실행하기만 하면 됩니다:
$ task kotlin -w
InQL은 커뮤니티의 기여를 통해 성장합니다. 개발자, 연구원, 디자이너, 버그 헌터 등 여러분의 전문 지식은 우리에게 매우 소중합니다. 버그 신고, 피드백, 풀 리퀘스트를 환영합니다. 여러분의 참여는 InQL을 지속적으로 개선하고 커뮤니티를 위한 더 강력한 도구로 만드는 데 도움이 됩니다.
상호 작용은 GitHub 이슈 트래커를 통해 가장 잘 이루어지지만, 소셜 미디어(@Doyensec)를 통해서도 연락하실 수 있습니다. 여러분의 의견을 기다리겠습니다!
기여자분들께 특별히 감사드립니다. 여러분의 헌신과 약속은 InQL을 오늘날의 모습으로 만드는 데 중요한 역할을 했습니다.
현재:
과거:
이 프로젝트는 Doyensec의 지원을 받아 제작되었습니다.