در حال بارگذاری...
شناسایی فریمورکها و کتابخانههای استفاده شده در اپلیکیشن وب شامل CMS، فریمورکهای JavaScript و سمت سرور.
اهداف این درس
در این تست، فریمورکها و کتابخانههای استفاده شده در اپلیکیشن وب را شناسایی میکنیم.
هر فریمورک آسیبپذیریهای خاص خود را دارد. با شناسایی فریمورک و نسخه آن، میتوان آسیبپذیریهای شناخته شده را پیدا کرد.
| فریمورک | نشانهها | مثال |
|---|---|---|
| WordPress | مسیر /wp-admin، هدر X-Powered-By | wp-content/themes/ |
| Laravel | کوکی laravel_session، هدر X-Powered-By: Laravel | app/Http/Controllers |
| Django | مسیر /admin، CSRF token | django.contrib.admin |
| React | data-reactroot، فایل react.js | __NEXT_DATA__ |
| Angular | ng-app، ng-controller | angular.js |
| Vue.js | data-v-، v-bind، v-model | vue.js |
هدرها و کوکیها میتوانند اطلاعات زیادی درباره فریمورک فاش کنند.
نمونه هدرهای فریمورک
این هدرها ممکن است فریمورک را فاش کنند:
1# Laravel2Set-Cookie: laravel_session=eyJpdiI6...3X-Powered-By: Laravel45# ASP.NET6X-Powered-By: ASP.NET7X-AspNet-Version: 4.0.3031989# Express.js10X-Powered-By: Expressساختار URL میتواند فریمورک را فاش کند. مثلاً مسیرهای /api/v1/ معمولاً نشاندهنده REST API هستند.
نکته مهم
مخفی کردن فریمورک فقط از طریق obscurity امنیت ایجاد میکند. بهترین کار بهروز نگه داشتن فریمورک و رفع آسیبپذیریها است.
هر فریمورک نشانههای خاص خود را دارد.
هدرها، کوکیها و ساختار URL میتوانند فریمورک را فاش کنند.
ابزارهایی مثل Wappalyzer شناسایی فریمورک را خودکار میکنند.
کدام ابزار برای شناسایی فریمورکهای وب مناسب است؟
چرا شناسایی فریمورک مهم است؟
هر فریمورک آسیبپذیریهای خاص خود را دارد. با شناسایی فریمورک و نسخه آن، میتوان آسیبپذیریهای شناخته شده را پیدا کرد.
چگونه فریمورکهای JavaScript را شناسایی کنیم؟
از طریق بررسی فایلهای JavaScript، متغیرهای global، ساختار DOM و هدرهای HTTP.