블랙박스 애플리케이션 오류 주입 및 리소스 발견을 위한 공격 패턴과 프리미티브 사전.
FuzzDB는 동적 애플리케이션 보안 테스트를 통해 애플리케이션 보안 취약점을 발견할 가능성을 높이기 위해 만들어졌습니다. 이는 결함 주입 패턴, 예측 가능한 리소스 위치, 서버 응답 매칭을 위한 정규식의 최초이자 가장 포괄적인 오픈 사전입니다.
공격 패턴 -
FuzzDB는 결함 주입 테스트를 위한 공격 페이로드 프리미티브의 포괄적인 목록을 포함합니다.
이러한 패턴은 공격 유형과 해당 플랫폼 유형별로 분류되어 있으며, OS 명령어 주입, 디렉터리 목록 노출, 디렉터리 탐색, 소스 코드 노출, 파일 업로드 우회, 인증 우회, XSS, HTTP 헤더 CRLF 주입, SQL 인젝션, NoSQL 인젝션 등과 같은 문제를 일으키는 것으로 알려져 있습니다. 예를 들어, FuzzDB는 널 바이트로 해석될 수 있는 56개의 패턴을 목록화하고 있으며, "get, put, test"와 같은 일반적으로 사용되는 메서드와 디버그 모드를 트리거하는 이름-값 쌍 목록을 포함합니다.
발견 -
표준 소프트웨어 패키징 배포 형식과 설치 프로그램의 대중화로 인해 로그 파일 및 관리 디렉터리와 같은 리소스가 소수의 예측 가능한 위치에 위치하는 경우가 많습니다.
FuzzDB는 플랫폼 유형, 언어, 애플리케이션별로 정렬된 포괄적인 사전을 포함하여 무차별 대입 테스트를 덜 무식하게 만듭니다.
https://github.com/fuzzdb-project/fuzzdb/tree/master/discovery
응답 분석 -
많은 흥미로운 서버 응답은 예측 가능한 문자열입니다.
FuzzDB는 서버 응답과 일치시키기 위한 정규식 패턴 사전 세트를 포함합니다. 일반적인 서버 오류 메시지 외에도 FuzzDB는 신용카드, 사회보장번호 등에 대한 정규식을 포함합니다.
기타 유용한 자료 - 다양한 언어의 웹쉘, 일반적인 비밀번호 및 사용자 이름 목록, 그리고 몇 가지 유용한 단어 목록.
문서 -
많은 디렉터리에는 사용법 노트가 포함된 README.md 파일이 있습니다.
웹에서 수집된 FuzzDB를 사용하여 테스트 케이스를 구성하는 데 도움이 되는 문서 모음도 포함되어 있습니다.
FuzzDB는 스캐너 없이 애플리케이션 보안 스캐너와 같습니다. FuzzDB를 사용하는 몇 가지 방법:
수많은 연구 및 침투 테스트 시간이 투자되었습니다. 그리고:
FuzzDB의 일부 또는 전체를 통합하는 기타 보안 도구 및 프로젝트:
권장 방법은 git을 통해 소스를 체크아웃하는 것입니다. 새로운 페이로드가 자주 추가됩니다.
git clone https://github.com/fuzzdb-project/fuzzdb.git --depth 1
FuzzDB 디렉토리 안에서 다음 명령어로 로컬 저장소를 업데이트할 수 있습니다.
git pull
이 Stackoverflow 게시물은 로컬 저장소를 깔끔하게 유지하는 방법에 대한 아이디어를 제공합니다: https://stackoverflow.com/questions/38171899/how-to-reduce-the-depth-of-an-existing-git-clone/46004595#46004595
FuzzDB github 소스를 탐색할 수도 있으며, 항상 최신 zip 파일도 제공됩니다.
참고: 일부 백신/안티멀웨어 소프트웨어가 FuzzDB에 대해 경고할 수 있습니다. 해결 방법은 파일 경로를 허용 목록에 추가하는 것입니다. FuzzDB에는 컴퓨터에 직접 해를 끼칠 수 있는 것은 없지만, 로컬 파일 포함 공격의 위험 때문에 서버나 중요한 시스템에 이 저장소를 보관하지 않는 것이 좋습니다. 사용에 따른 책임은 본인에게 있습니다.
FuzzDB는 Adam Muntner (amuntner @ gmail.com)이 만들었습니다. FuzzDB (c) Copyright Adam Muntner, 2010-2019 일부 부분은 커밋 코멘트 및 README.md 파일에 명시된 대로 다른 사람의 저작권입니다.
FuzzDB 라이선스는 New BSD 및 Creative Commons Attribution입니다. 이 프로젝트의 궁극적인 목표는 포함된 패턴을 더 이상 사용하지 않게 만드는 것입니다. 이 프로젝트를 작업, 연구 또는 상용 제품에 사용하는 경우 인용해야 합니다. 그게 전부입니다. 사람들이 이 프로젝트를 사용하여 흥미로운 버그를 찾거나 도구에 활용하는 이야기를 듣는 것을 항상 즐깁니다. 이메일을 보내 알려주세요.
제출은 언제나 환영합니다!
공식 FuzzDB 프로젝트 페이지: https://github.com/fuzzdb-project/fuzzdb/