
Python 기반 웹 보안 스캐너로, HTTP 헤더, SSL/TLS, DNS 레코드 및 일반적인 잘못된 구성을 분석하여 점수화된 보안 보고서와 실행 가능한 권장 사항을 생성합니다.
EasyScan은 주어진 웹사이트의 HTTP 헤더, DNS 레코드 및 기타 구성을 검사하여 보안을 분석하는 Python 스크립트입니다. 이 스크립트는 점수, 등급 및 잠재적인 취약점 해결을 위한 권장 사항이 포함된 보안 보고서를 생성합니다.
이 스크립트는 다음 테스트 케이스를 다룹니다:
Referrer-Policy 헤더와 메타 태그를 확인합니다./admin, /wp-admin, /phpmyadmin, /cpanel)를 스캔합니다./images, /uploads, /files 등)에 노출된 디렉터리 목록이 있는지 확인합니다.Set-Cookie 헤더에서 Secure, HttpOnly, SameSite 속성 및 __Secure-/__Host- 접두사를 확인합니다.Server, X-Powered-By, X-AspNet-Version 헤더를 확인합니다.Access-Control-Allow-Origin 설정 및 와일드카드 + 자격 증명 충돌을 확인합니다.Content-Type 헤더를 확인합니다.robots.txt에서 잠재적으로 민감한 금지 경로를 스캔합니다.OPTIONS 요청을 보냅니다..git/config, .env, .htaccess, backup.sql, wp-config.php.bak 등을 탐색합니다.<script> 및 <link> 태그에서 누락된 integrity 속성을 스캔합니다.http:// 리소스 URL을 감지합니다.X-Frame-Options 및 CSP frame-ancestors를 모두 확인합니다.Host 헤더가 리디렉션이나 응답 본문에 반영되는지 테스트합니다.url, next, redirect, return 등)에 대한 오픈 리디렉션 취약점을 테스트합니다.EasyScan은 Python 3.6+ 및 다음 라이브러리가 필요합니다:
requestsbeautifulsoup4dnspythoncertifi제공된 requirements.txt 파일을 사용하여 이러한 종속성을 설치할 수 있습니다:
pip install -r requirements.txt
EasyScan 스크립트를 사용하려면 다음 단계를 따르세요:
easyscan.py 파일로 저장하십시오.pip install -r requirements.txt
python3 easyscan.py [url]
기본 스캔:
python3 easyscan.py example.com
JSON 출력을 파일로 저장하는 스캔:
python3 easyscan.py example.com --json --output report.json
더 긴 시간 제한과 자세한 로깅으로 스캔:
python3 easyscan.py https://example.com --timeout 20 --verbose
--json 플래그를 사용하여 구조화된 JSON 출력을 얻으십시오. 이는 다른 도구와의 통합에 유용합니다:
python3 easyscan.py example.com --json
JSON 보고서에는 집계 점수(0-100), 문자 등급(A-F), 심각도 개수 및 모든 결과가 포함된 score 객체가 포함됩니다.
================================================================================================================================================================
SECURITY REPORT
================================================================================================================================================================
Header Status Severity Recommendation
================================================================================================================================================================
[CRI] SSL/TLS Missing Critical The site is not using HTTPS. Implement SSL/TLS to encrypt data in transit.
[HI] Clickjacking No Protection High Set 'X-Frame-Options: DENY' or CSP 'frame-ancestors' directive to prevent clickjacking.
[HI] Public Admin Page (/admin) Accessible High Restrict access to /admin to specific IP addresses and/or enable authentication.
[MED] Content-Security-Policy Missing Medium Implement a Content Security Policy (CSP) to prevent XSS and code injection attacks.
[MED] Strict-Transport-Security Missing Medium Implement Strict Transport Security (HSTS) to enforce secure connections.
[MED] Permissions-Policy Missing Medium Set a 'Permissions-Policy' header to restrict browser features (camera, microphone, geolocation).
[LOW] SPF Record Missing Low Add an SPF record to your domain's DNS settings to help prevent email spoofing.
[INF] Meta Referrer Missing Low Add a 'referrer' META tag with 'no-referrer' to prevent leaking referrer information.
============================================================
SECURITY SCORE: 55/100 (Grade: C)
============================================================
Total Issues : 8
Critical : 1
High : 2
Medium : 4
Low : 1
Info : 0
============================================================
이 스크립트가 모든 가능한 보안 시나리오를 다루지 않을 수 있음을 명심하시기 바라며, 귀하의 웹사이트에 대해 철저한 보안 평가를 수행하는 것이 좋습니다.
EasyScan은 https://easyscan.onrender.com/ 에서도 사용할 수 있습니다.
질문이 있거나 전체 보안 감사가 필요한 경우 Twitter @0xdevrel로 연락해 주십시오.
| 플래그 | 설명 |
|---|
url | 위치 인수. 스캔할 URL (예: example.com 또는 https://example.com). |
--json | 결과를 JSON으로 stdout에 출력합니다. |
--output FILE / -o FILE | 보고서를 특정 파일에 저장합니다. |
--timeout SECS / -t SECS | 요청 시간 제한을 초 단위로 설정합니다 (기본값: 10). |
--verbose / -v | 디버그 수준 로깅 출력을 활성화합니다. |