본문 바로가기
BoB/WebScanner

웹 스캐너(퍼저) 개발명세서

by reindeer002 2021. 7. 25.
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

댓글