در مقالات قبلی در رابطه با HACKING WEB SERVERS گفتیم و این بار در باره اینکه Hacking Web Applications چیست می نویسم.
web application اینترفیس بین کاربر و web server مهیا می کند و شامل چندین web page است که توسط سرور ایجاد می شود با این حال در برابر حملاتی از قبیل sql injection, cross site scripting , session hijacking آسیب پذیر است.
تکنولوژی وب مانند web2 که برای CRM , SCM استفاده می شود می تواند آسیب پذیری های بیشرتی را در برگیرد. شکل زیر کارکرد web application را نمایش می دهد.
و شکل زیر معماری معماری web application را مایش می دهد
تست و نفوذ web application برای شناسایی، آنالیز و گزارش آسیب پذیری استفاده می شود و برای داشتن یک تست موفق باید تمامی آزمون ها به صورت methodical , repeatable اجرا شود
مراحل تست و نفوذ در web application به قسمت های زیر تقسیم بندی می شود
- information gathering
- configuration management testing
- authentication testing
- session management testing
- DOS testing
- data validation testing
- Business logic testing
- Authorization testing
- Web service testing
- AJAX testing
قسمت information gathering شامل مراحل زیر است
۱- فایل robots.txt آنالیز می شود که اینکار با استفاده از ابزارهایی نظیر GNU Wget انجام می شود.
۲-با استفاده از تکنیک search engine reconnaissance می توان به پیام های تولید شده و یا ساختار web application پی برد
۳-نقاط ورود برنامه با استفاده از ابزارهایی نظیر web scarab,Burp proxy, OWASP ZAP شناسایی می شود
۴- شناسایی web application که می تواند مدل آن و یا نسخه تقلبی آن را مشخص کند در این قسمت با استفاده از ابزار هایNmapمی توان آسیب پذیری ها را شناسایی کرد و با ابزار Nessus پورت ها را اسکن کرد
۵-آنالیز error code ها که می تواند اطلاعاتی درباره version نرم افزار، جزئیات پایگاه داده، باگهای نرم افزار به دست آورد.
۶- شناسایی نوع فایل ها و دایرکتوری ها برای شناسایی محیط web application
۷- اجرای متد TCP/ICMP finger printing برای شناسایی سرویس های web application و پورت ها که می توان از ابزار Nmap استفاده کرد.
قسمت configuration management testing شامل مراحل زیر است
۱- با استفاده از برنامه های Nmap و Nessus می توان ورودی های پورت ها را از نظر آسیب پذیر بودن بررسی کرد.
۲- اسکن کردن شبکه و آنالیز web server banner
۳-تست کردن application configuration management یا مدیریت پیکر بندی برنامه با استفاده از CGI scanners تا بتوان محتوای web server , application server را بررسی کرد همچنین باید در این مرحله log ها و configuration بررسی شود.
۴-استفاده از ابزارهای vulnerability scanner برای بررسی فایل ها
۵-بازبینی source code ها و توابع
۶- اجرای directory and file enumeration برای بازبینی و تست زیر ساخت های application admin interface و server documentation
قسمت authentication testing شامل مراحل زیر است
۱- تست کردن آسیب پذیری های مربوط به password و مکانیزم های یادآوری آن با چک کردن کد های HTML در صفحه login
۲- چک کردن استفاده مجدد از session قبل از logout شدن کاربر چرا که اگر logout به صورت اتوماتیک اجرا شود و کاربر هنوز دسترسی داشته باشد می تواند مشکل ساز باشد و همچنین باید اطمینان حاصل کرد که اطلاعات حساس در browser cache ذخیره نشده باشد
۳-تست کردن captcha با شناسایی پارامتر هایی که می تواند captcha را decode کند به این صورت که می تواند captcha قدیمی با id, session قدیمی را به server ازسال کند
شرکت پرسا تک با استفاده از کارشناسان خود می تواند سیستم های امنیتی را برای شرکت ها و سازمان ها صنعتی راه اندازی کند.