
OWASP 재단 웹 저장소
WWWGrep은 HTML 요소를 유형별로 검사하고 집중(단일), 다중(파일 기반 URL) 및 재귀(루트 도메인 기준 여부) 검색을 수행할 수 있는 빠른 검색 "grepping" 메커니즘입니다. 헤더 이름과 값도 이러한 방식으로 재귀적으로 검색할 수 있습니다. WWWGrep은 공격자와 방어자 모두가 검사 중인 코드 베이스를 신속하게 조사할 수 있도록 설계되었으며, 아래에 몇 가지 사용 사례와 예시가 나와 있습니다.
설치
git clone
pip3 install -r requirements.txt
python3 wwwgrep.py <인수 및 매개변수>
의존성 (pip3 install -r requirements.txt)
- Python 3.5+
- BeautifulSoup 4
- UrlLib.parse
- requests_html
- argparse
- requests
- re
- os.path
wwwgrep.py [대상/파일] [검색_문자열] [검색_매개변수/기준/재귀 등]
검색 입력
search_string 검색할 문자열 또는 검색 매개변수에 지정된 유형의 모든 객체에 대해 "" 지정
-t --target 검색 대상이 되는 단일 URL 지정
-f --file 검색할 URL 목록이 포함된 파일 지정
재귀
-rr --recurse-root URL 재귀를 대상에 제공된 도메인으로 제한
-ra --recurse-any 대상 도메인을 넘어 재귀를 허용
일치 기준
-i --ignore-case 대소문자 구분 없이 일치 수행 (기본값은 대소문자 구분)
-d --dedupe 페이지당 중복 결과 허용 (기본값은 중복 제거)
-r --no-redirects 리디렉션 허용 안 함 (기본값은 리디렉션 허용)
-b --no-base-url 출력에서 일치 항목의 URL 생략 (기본값은 URL 포함)
-x --regex RegEX 일치 허용 (search_string을 RegEX로 처리, 기본값은 꺼짐)
-e --separator 출력 구분자 지정 (기본값은 : )
-j --java-render 페이지 객체 및 텍스트의 JavaScript 렌더링 켜기 (기본값은 꺼짐)
-p --linked-js-on 연결된 (script src 태그) JavaScript 검색 켜기 (기본값은 꺼짐)
요청 매개변수
-ps --https-proxy https://<ip>:<port> 형식으로 HTTPS 프로토콜용 프록시 지정
-pp --http-proxy http://<ip>:<port> 형식으로 HTTP 프로토콜용 프록시 지정
-hu --user-agent 요청에 사용할 사용자 에이전트 문자열 지정
-ha --auth-header 요청 헤더에 사용할 베어러 토큰 또는 기타 인증 문자열 지정
검색 매개변수
-s --all 검색 사양과 일치하는 모든 페이지 HTML 및 스크립트 검색
-sr --relative 검색 사양과 일치하는 페이지 링크를 상대 URL로 검색
-sa --absolute 검색 사양과 일치하는 페이지 링크를 절대 URL로 검색
-si --input-fields 검색 사양과 일치하는 페이지 입력 필드 검색
-ss --scripts 검색 사양과 일치하는 스크립트 태그 검색
-st --text 검색 사양과 일치하는 페이지의 표시 텍스트 검색
-sc --comments 검색 사양과 일치하는 페이지의 주석 검색
-sm --meta 검색 사양과 일치하는 페이지 메타데이터 검색
-sf --hidden 검색 사양과 일치하는 숨겨진 필드 검색
-sh --header-name 검색 사양과 일치하는 응답 헤더 검색
-sv --header-value 검색 사양과 일치하는 응답 헤더 값 검색
사이트에서 로그인이라고 이름이 지정된 모든 입력 필드를 재귀적으로 찾되 루트 도메인을 벗어나지 않고 대소문자를 구분하지 않고 일치
wwwgrep.py -t https://www.target.com -i -si “login” -rr
사이트의 모든 페이지에서 "to do"라는 용어가 포함된 모든 주석 찾기
wwwgrep.py -t https://www.target.com -i -sc “to do” -rr
특정 웹 페이지의 모든 주석 찾기
wwwgrep.py -t https://www.target.com/some_page -i -sc “”
파일 input.txt에 포함된 웹 애플리케이션 목록 내 모든 숨겨진 필드를 사이트 재귀를 사용하여 찾기
wwwgrep.py -f input.txt -sf “” -rr