در حال بارگذاری...
شناسایی و ترسیم معماری کلی اپلیکیشن وب شامل لایهها، سرویسها، پایگاه داده و زیرساخت.
اهداف این درس
در این تست، معماری کلی اپلیکیشن وب را شناسایی و ترسیم میکنیم شامل لایهها، سرویسها، پایگاه داده و زیرساخت.
درک معماری به تستر کمک میکند نقاط ضعف امنیتی در هر لایه را شناسایی کند و تستهای هدفمندتری طراحی کند.
| لایه | مسئولیت | مؤلفهها |
|---|---|---|
| Presentation | نمایش به کاربر | HTML, CSS, JavaScript, React, Angular |
| Application | منطق برنامه | API, Business Logic, Authentication |
| Data | ذخیرهسازی داده | Database, Cache, File Storage |
| Infrastructure | زیرساخت | Server, CDN, Load Balancer, DNS |
سرویسهای مختلف ممکن است روی سرورهای مختلف میزبانی شوند.
شناسایی سرویسها با DNS
با بررسی DNS میتوان سرویسهای مختلف را شناسایی کرد:
1# سوابق DNS2dig example.com A3dig example.com MX4dig example.com NS5dig example.com TXT67# نمونه خروجی:8# example.com. IN A 192.168.1.19# example.com. IN MX 10 mail.example.com10# example.com. IN NS ns1.example.comCDN میتواند اطلاعات زیادی درباره زیرساخت فاش کند.
| CDN | نشانهها | هدرها |
|---|---|---|
| Cloudflare | cf-ray header | cf-ray, cf-cache-status |
| AWS CloudFront | x-amz-cf-id | x-amz-cf-id, x-amz-cf-pop |
| Akamai | akamai headers | x-akamai-transformed |
| Fastly | fastly headers | x-served-by, x-cache |
نوع پایگاه داده ممکن است از طریق خطاها، هدرها یا رفتار اپلیکیشن فاش شود.
نکته عملی
از ابزارهایی مثل dig، nslookup و whois برای شناسایی زیرساخت DNS استفاده کنید. این اطلاعات میتواند معماری شبکه را فاش کند.
معماری اپلیکیشن باید قبل از تست درک شود.
هر لایه ممکن است آسیبپذیری خاص خود را داشته باشد.
زیرساخت ابری ممکن است پیکربندیهای نادرست داشته باشد.
کدام لایه مسئول ذخیرهسازی دادهها است؟
چرا درک معماری اپلیکیشن مهم است؟
درک معماری به تستر کمک میکند نقاط ضعف امنیتی در هر لایه را شناسایی کند و تستهای هدفمندتری طراحی کند.
لایههای اصلی یک اپلیکیشن وب کدامند؟
لایههای اصلی شامل presentation (فرانتاند)، application (بکاند)، data (پایگاه داده) و infrastructure (زیرساخت) هستند.