728x90
1. 목표
웹 스캐너(퍼저) 개발을 통해 웹 페이지에서 발생할 수 있는 취약점을 탐지하여 미리 유지/보수할 수 있도록 만들고, 수업의 취지에 맞게 웹 스캐너의 구조 및 동작 방식을 분석하여 명확히 이해할 수 있도록 한다.
2. 설명
웹에서 발생할 수 있는 취약점인 SQL injection, XSS, XXE 등이 발생할 수 있는 벡터를 찾은 후 input generator를 통해 HTTP의 상태코드를 보고 공격 가능성을 판단하거나 직접 공격을 수행하여 그 결과를 반환하는 프로그램이다. 취약점을 선정하는 기준은 OWASP TOP 10 vulnerability를 참고한다.
3. 언어 및 환경
개발 언어 | python |
target 환경 | OS: windows 10 Example of web server 1. webgoat 2. dvwa 3. sourceforge |
scanner 환경 | OS: ubuntu20.04 |
4. 기술 스택 및 아키텍처
기술 스택 | 차차 기입 예정 |
아키텍처 | git을 통한 버전 관리 -> 버전은 공격 가능한 취약점이 늘어날 때마다 다음 버전으로 넘어갈 예정 참고할 OpenSource의 링크 https://github.com/0xn0ne/weblogicScanner/blob/master/README_EN.md https://github.com/faizann24/XssPy https://github.com/stanislav-web/OpenDoor |
5. 구성도
6. 구현 단계
6-1. 최소 구현
- 한 가지 웹 취약점을 탐지하고 공격 가능한 입력값을 생성하여 공격하는 스캐너
- 초기 선정 취약점은 SQL injection
- 공격 후 분석 내용을 간단히 정리하여 출력
6-2. 중간 구현
- XSS 취약점 공격 가능
- XXE 취약점 공격 가능
6-3. 최대 구현
- File Upload 취약점을 사용하여 웹 쉘을 올릴 수 있는 웹 스캐너
- 해당 공격을 방어할 수 있는 방안 및 코드 예시 출력
7. 산출물
여러 웹 취약점을 탐지하고 공격할 수 있는 웹 스캐너
8. 성능 평가 방법
webgoat, dvwa, sourceforge 등의 취약점이 존재하는 웹 서버를 스캔해보고 올바르게 작동하는지 확인한다.
-> 여러 공격 방법 중에서 얼마나 많은 공격 방법을 생성할 수 있는가
728x90
'BoB > WebScanner' 카테고리의 다른 글
[webscanner]세 번째 기록 (0) | 2021.08.21 |
---|---|
[webscanner]두 번째 기록 (0) | 2021.08.21 |
[webscanner]첫 번째 기록 (0) | 2021.08.21 |
웹 스캐너 개발 1일차 (0) | 2021.07.22 |
댓글