
GraphQL 자동화 보안 테스팅 도구 키트
Graph Crawler는 모든 GraphQL 엔드포인트를 위한 가장 강력한 자동화 테스트 툴킷입니다.
새로운 기능: Escape Technology의 강력한 Graphinder 도구를 사용하여 엔드포인트를 검색할 수 있습니다. 도메인을 지정하고 '-e' 옵션을 추가하기만 하면 Graphinder가 서브도메인 열거 + GraphQL 엔드포인트를 위한 인기 디렉토리 검색을 수행합니다. 이 모든 과정 후에 GraphCrawler가 인계받아 각각의 발견 항목을 처리합니다. 스키마를 인트로스펙트할 수 없는 경우 '-s' 옵션으로 JSON 파일로 제공할 수 있습니다.
뮤테이션이 활성화되어 있는지 확인하고, 사용자 및 파일과 같은 민감한 쿼리가 있는지 확인하며, 발견된 쉬운 쿼리를 테스트하여 인증이 필요한지도 검사합니다.
엔드포인트에서 인트로스펙션이 활성화되지 않은 경우 Apollo Server인지 확인한 후 Clairvoyance를 실행하여 무차별 대입으로 제안을 가져와 스키마를 직접 구축할 수 있습니다. (자세한 내용은 Clairvoyance 프로젝트를 참조하십시오). 그런 다음 발견 항목을 1~10으로 점수화하며, 10이 가장 심각합니다.
스키마를 더 깊이 파고들고 싶다면 graphql-path-enum을 사용하여 사용자 ID, 이메일 등 특정 유형에 대한 경로를 찾을 수 있습니다.
이 도구가 저에게 그랬던 것처럼 여러분의 시간도 많이 절약해주길 바랍니다.
python graphCrawler.py -u https://test.com/graphql/api -o <fileName> -a "<headers>"
██████╗ ██████╗ █████╗ ██████╗ ██╗ ██╗ ██████╗██████╗ █████╗ ██╗ ██╗██╗ ███████╗██████╗
██╔════╝ ██╔══██╗██╔══██╗██╔══██╗██║ ██║██╔════╝██╔══██╗██╔══██╗██║ ██║██║ ██╔════╝██╔══██╗
██║ ███╗██████╔╝███████║██████╔╝███████║██║ ██████╔╝███████║██║ █╗ ██║██║ █████╗ ██████╔╝
██║ ██║██╔══██╗██╔══██║██╔═══╝ ██╔══██║██║ ██╔══██╗██╔══██║██║███╗██║██║ ██╔══╝ ██╔══██╗
╚██████╔╝██║ ██║██║ ██║██║ ██║ ██║╚██████╗██║ ██║██║ ██║╚███╔███╔╝███████╗███████╗██║ ██║
╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝╚═╝ ╚═╝
출력 옵션은 필수가 아니며 기본적으로 schema.json으로 출력됩니다. 2. Docker 사용 참고: graphcrawler는 파일을 입력으로 필요로 하거나 출력을 생성하는 일부 옵션을 사용하므로, 모든 파일을 작업 디렉토리에 보관하고 컨테이너 경로 /workspace에 마운트하는 것이 좋습니다. 모든 출력은 마운트된 디렉토리에 저장됩니다.
docker build -t graphcrawler:1.2 .
docker run -v /path_to_workspace:/workspace -it graphcrawler:1.2 -u https://test.com/graphql/api -o <filename> -a "<headers>"
단어 목록: google-10000-english