웹 페이지의 보안 취약점을 효과적으로 탐지하는 도구. 프록시 서버를 통해 데이터를 수집하고, 페이로드가 포함된 패킷을 보내서 취약점을 스캔하여 DB에 저장한다.
- 김서율, 강경서, 구가경, 김수민, 김민지, 강혜인, 김우종
- Crawler:크롤링을 통해 url을 수집
- Proxy: 프록시 서버를 통해 웹 페이지의 요청 및 응답 내용을 수집
- Scanner: SQLi, Stored XSS, Reflected XSS, Dom-based XSS 취약점을 탐지
- Composer : 페이로드를 이용한 패킷을 생성하고 요청 보냄
- DB : 결과를 MySQL 데이터베이스에 저장
- Payload : 취약점 탐지를 위한 다양한 페이로드들.
- 필요한 파이썬 패키지 설치 (requirements.txt파일에 필요한 패키지 이름 저장되어있음. 이 파일을 설치)
pip install -r requirements.txt- Node.js 설치
- Mysql 설치
- 인증서 추가하기
- %USERPROFILE%.mitmproxy\mitmproxy-ca-cert.cer 실행 (안나오면 프록시랑 스크립트 실행시켜보고 재부팅)
- 인증서 설치 -> 로컬 컴퓨터 -> 모든인증서를 다음 저장소에 저장
- 신뢰할 수 있는 루트 인증 기관 -> 마침
- 프록시 실행시킨 상태로 http://mitm.it/ 접속
- 애플클릭하고 설치 또는
sudo security add-trusted-cert -d -r trustRoot -p ssl -k /Library/Keychains/System.keychain $HOME/.mitmproxy/mitmproxy-ca-cert.pem
- command + space누르고 키체인 검색
- mitmproxy 인증서 더블클릭 후 상단의 신뢰 클릭
- 이 인증서 사용시: 시스템초기설정사용 -> 항상신뢰 로 변경
- 크롤러를 이용하여 하위 url 수집
- USER_INPUT.py에서 DB연결정보,탐지url(최상위 url) 입력하기
- PROXY_mitmproxy.py 파일 실행
- 3번실행 후 열리는 셀레니움 창 이용하여 하위 url접속
4.1. command창 확인 - Result폴더의 make_json.py파일 실행
- 5번 실행 후 최상위url.json 파일확인 =======