
매우 빠르고 유연한 웹 퍼저
매우 빠르고 유연한 웹 퍼저
Filebuster는 HTTP 퍼저/콘텐츠 발견 스크립트로, 다양한 기능을 갖추고 있으며 사용하기 쉽고 빠르게 설계되었습니다! 세계에서 가장 빠른 HTTP 클래스(PERL) 중 하나인 Furl::HTTP를 사용합니다. 또한 스레드 모델링은 가능한 한 빠르게 실행되도록 최적화되어 있습니다.
다음과 같은 많은 기능을 제공합니다:
Filebuster는 자주 업데이트됩니다. 새로운 기능이 정기적으로 추가될 예정입니다.
Perl 버전 5.10 이상이 필요합니다.
FileBuster는 많은 기능을 타사 라이브러리에 의존합니다. 그러나 다음 명령어로 쉽게 설치할 수 있습니다:
cpan -T install YAML Furl Benchmark Net::DNS::Lite List::MoreUtils IO::Socket::SSL URI::Escape HTML::Entities IO::Socket::Socks::Wrapper URI::URL Cache::LRU IO::Async::Timer::Periodic IO::Async::Loop
-T 옵션은 설치 속도를 크게 높여주지만, 문제가 발생하면 제거하여 CPAN이 패키지별 테스트를 수행하도록 할 수 있습니다.
Filebuster는 Perl 스크립트이므로 별도의 설치는 필요하지 않습니다. 그러나 Filebuster를 사용하는 가장 좋은 방법은 PATH에 포함된 디렉토리에 소프트 링크를 생성하는 것입니다. 예시:
ln -s /path/to/filebuster.pl /usr/local/bin/filebuster
그러면 시스템 전체에서 사용할 수 있습니다.
모든 의존성을 설치하는 것이 때로는 불가능하기 때문에, 모든 의존성이 내장된 사전 패키징된 바이너리를 제공합니다. 이는 슬림한 Linux 배포판에서도 작동합니다. Perl Packer pp를 사용하여 달성했습니다. 이 단계를 저장소에 통합하여 새 버전이 릴리스될 때 패키징된 버전이 자동으로 빌드되도록 했습니다. 최신 버전은 Releases 섹션에서 다운로드할 수 있습니다.
직접 패키징하려면 Actions의 워크플로우 단계를 확인하면 필요한 모든 명령어를 찾을 수 있습니다.
가장 기본적인 형태로 Filebuster는 다음 구문만 사용하여 실행할 수 있습니다:
filebuster -u http://yoursite/
URL의 마지막 부분을 퍼징하려면 {fuzz} 태그를 사용하여 주입 위치를 표시할 필요가 없습니다.
단어 목록 매개변수(-w)는 버전 0.9.1부터 필수가 아닙니다. 지정되지 않으면 Filebuster는 자동으로 "Fast" 단어 목록을 찾아 로드합니다.
-w - 사용할 단어 목록의 경로. 여기에 목록을 지정하면 FileBuster가 자동으로 중복을 무시합니다. 예: -w wordlist1.txt ../morewordlists/*.txt--hc - 지정된 응답 코드를 숨깁니다. 예: --hc 403,400--hs - 응답 본문에 문자열이 포함된 응답을 숨깁니다. 예: --hs "does not exist"--hsh - 헤더에 문자열이 포함된 응답을 숨깁니다. 예를 들어 로그인 페이지로의 리디렉션을 무시하는 데 유용합니다. 예: --hsh "login.aspx"-e - FileBuster가 단어 목록의 모든 항목을 제공된 확장자와 함께 시도합니다. 예: -e aspx,ashx,asmx전체 구문 도움말과 예제는 filebuster --help를 실행하세요.
더 복잡한 예:
filebuster -u http://yoursite/{fuzz}.jsp -w /path/to/wordlist.txt -t 3 -x http://127.0.0.1:8080 --hs "Error"
이를 통해 3개의 스레드로 웹사이트를 퍼징하여 JSP 페이지를 찾고, 로컬 프록시를 사용하며 본문에 "Error"가 포함된 모든 응답을 숨길 수 있습니다.
먼저 컨테이너를 빌드해야 합니다:
docker build -t filebuster .
그런 다음 다음과 같이 실행할 수 있습니다:
docker run -ti --init --rm filebuster -u http://yoursite/
사용자 정의 단어 목록을 사용해야 하는 경우 파일을 매핑하는 것을 기억하세요. 예:
docker run -ti --init --rm -v /path/to/wordlist.txt:/filebuster/mywordlist.txt filebuster -u http://yoursite/ -w /filebuster/mywordlist.txt
쉘에 별칭을 만들어 거의 원활하게 사용할 수 있습니다:
alias filebuster="docker run -ti --init --rm filebuster"
이제 그냥 실행하면 됩니다:
filebuster -u http://yoursite/
저는 웹상의 다양한 출처를 기반으로 한 단어 목록과 펜테스트 및 연구 중에 발견한 나만의 사용자 정의 페이로드를 포함하여 몇 가지 단어 목록을 만들었습니다. wordlists 디렉토리에서 찾을 수 있습니다.
더 많은 단어 목록이 필요하다면 훌륭한 SecLists 저장소를 확인해보세요.
문제나 제안 사항이 있으면 언제든지 연락해 주세요.