• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
شیوه pentest کردن سایت php
#1
سلام

میخواستم بدونم شیوه pentest کردن یک سایت php چطوریه؟ چه روشها و کارهایی رو باید انجام بدم؟
هرچی گشتم نتونستم منابع خوب فارسی پیدا کنم

ممنون
  پاسخ
تشکر شده توسط :
#2
سوال خوبیه...

اول اینکه مبحث "تست آسیب پذیری و نفوذ" واقعی عمیقتر، اصولی و علمی تر از این حرفاست، اما میشه یه نگاه کلی بهش داشت
دوم اینکه به PHP یا ASP بودن ربطی نداره... روند/شیوه کلی کار یکیه، فقط تفاوت در جزییاته
سوم اینکه قبل از شروع یه کاغذ و قلم بگیر و دونه دونه نتایج مثبت و منفی که بدست میاری رو یادداشت کن. چون در آخر براحتی می تونی(و باید) هدفت رو توسط نتایج بدست اومده آنالیز کنی


برای Tongueenetration testing
(و نه Beta Testing یا Vulnerability Scanning)
1- اول نوع و بستر هدف رو مشخص می کنی و اینکه سوژه نرم افزار وب هستش یا نرم افزار دسکتاپ

2- بعد آسیب پذیری ها و حملاتی که میتونه شامل حالش بشه رو لیست میکنی:
مثلاً برای نرم افزار وب و سرور ش:
کد:
1-    SQL injection (web)
2-    XSS / Cross-site scripting (web)
3-    Session hijacking (web)
4-    IP spoofing / Source address spoofing (server)
5-    UI redress / Clickjacking (web)
6-    Symlinking (server)
7-    CSFR / Cross site request forgery (web)
8-    LFI - RFI (web/server)
9-    DDoS / Distributed denial of services (server)
10-    FTP bounce attack / man-in-middle (server)
11-    Ping of death (server)
12-    Fragmented packet attacks (server)
13-    Cracking / Password attacks (web)
14-    File upload (web)
15-    Ping flood (server)
16-    Buffer/Heap/Stack overflow (web/server)
17-    Malware injection (server)
18-    Metasploit project test (web/server)
19-    Shellcode test (server)
20-    Directory transversal (web)
21-    DNS spoofing (server)
22-    GHDb / Google hacking database (web)
23-    Email header injection / Email exploits (server)
24-    XXE / XML external entity (web)
25-    Web server(HTTPD) attacks (server)

3- سپس برای هرکدوم از روشها و شیوه های نفوذ(که در بالا لیست کردیم) 7 فاز رو در نظر میگیری: (اینها فازهای اصلی penetration هستن)
1- شناسایی / Reconnaissance
به شناسایی هدف و جمع آوری اطلاعات پایه ای پرداخته میشه
2- پیمایش و اسکن / Scanning
با اسکن و موشکافی اطلاعات بدست آمده، نقاط ضعف موجود در هدف رو کشف می کنی
3- کسب دسترسی / Gaining access
توسط نقاط ضعف کشف شده، تلاش برای نفوذ و کسب دسترسی می کنی
4- حفظ دسترسی / Maintaining access
با مخفی ماندن یا ایجاد هویت جعلی ولی معتبر، دسترسی بدست اومده رو حفظ می کنی(بخاطر فایروال ها، آنتی ویروس ها و عوامل انسانی)
5- انجام عملیات / Operating
عملیات تخریب، سرقت داده ها، جایگزینی اطلاعات و غیره... رو انجام میدیم
6- ایجاد درب پشتی / Create backdoor
یک یا چند backdoor(درب پشتی) جهت رجوعات بعدی و دسترسی سریع در هدف ایجاد می کنی
7- پاکسازی ردپا (مدرک جرم) / Covering tracks
همه گزارشات(logs)، IP و کلاً مدارک مربوط به حمله رو پاک و هدف رو ترک می کنی

4- حالا یک به یک آیتم های لیست آسیب پذیری رو در هر 7 فاز اصلی بر روی هر قسمت از سایت و سرور اعمال می کنی و نتیجه رو ثبت میکنی.

موفق باشی
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط : mohammadhosain Null ayoubsys Alaa kasbookar Reza Maysam.m
#3
عالی بود!! Heart
حالا متوجه شدم کارشناسای امنیت نرم افزار چکار می کنن اصلن
نقل قول: (PenTesting و نه Beta Testing)
و البته فرقشو با beta tester ها Big Grin
  پاسخ
تشکر شده توسط :
#4
سلام
حملات مربوط به سرور از همه مهمتر هستند چون در بیشتر موارد ما استفاده کننده از سرور هستیم و دسترسی برای بالا بردن امنیت رو نداریم (با توجه به اینکه حملات مربوط به وب دست برنامه نویس هست)
در ایران و یا خارج سرویس دهنده ای رو میشناسید که اینهارو رعایت بکنن؟ یعنی سرور امن ارائه بدن؟
  پاسخ
تشکر شده توسط :
#5
سلام دوستان،

بررسی این فهرست‌ها را به شما پیشنهاد میکنم :

OWASP - Secure Coding Practices Checklist
OWASP - Web Application Security Testing Cheat Sheet

شاد باشید.
زبان فقط C. سیستم عامل فقط Linux.
  پاسخ
تشکر شده توسط : Y.P.Y


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان