
ماسح أمان ويب مبني على بايثون يحلل رؤوس HTTP، وشهادات SSL/TLS، وسجلات DNS، والأخطاء الشائعة في التهيئة لتوليد تقرير أمني مُسجَّل مع توصيات قابلة للتنفيذ.
EasyScan هو سكريبت بلغة Python يقوم بتحليل أمان موقع ويب معين عن طريق فحص رؤوس HTTP وسجلات DNS والإعدادات الأخرى. يولد السكريبت تقرير أمان بنتيجة ودرجة وتوصيات لمعالجة الثغرات المحتملة.
يغطي السكريبت حالات الاختبار التالية:
Referrer-Policy ووسم meta./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 غير الآمنة وتعريفات wildcard مع بيانات الاعتماد المتضاربة.Content-Type.robots.txt بحثًا عن المسارات المحظورة التي قد تكون حساسة.OPTIONS لاكتشاف الأفعال الخطيرة (TRACE و DELETE و PUT و CONNECT)..git/config و .env و .htaccess و backup.sql و wp-config.php.bak وغيرها.<script> و <link> الخارجية بحثًا عن سمات integrity المفقودة.http:// في صفحات HTTPS.X-Frame-Options و CSP frame-ancestors للحماية من clickjacking.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 كائن score بالنتيجة الإجمالية (0-100) ودرجة حرفية (A-F) وعدد حالات الخطورة وجميع النتائج.
================================================================================================================================================================
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/
إذا كان لديك أي أسئلة أو كنت بحاجة إلى تدقيق أمان كامل، يُرجى التواصل عبر تويتر @0xdevrel.
| العلامة | الوصف |
|---|
url | وسيط موضعي. عنوان URL المراد فحصه (مثال: example.com أو https://example.com). |
--json | إخراج النتائج بتنسيق JSON إلى stdout. |
--output FILE / -o FILE | حفظ التقرير في ملف معين. |
--timeout SECS / -t SECS | تعيين مهلة الطلب بالثواني (الافتراضي: 10). |
--verbose / -v | تمكين إخراج التسجيل على مستوى التصحيح. |