سلام دوستان عزیزم
امیدوارم حالتون خوب باشه.
در ابتدا همه اعضای تیم با هم نشسته بودیم و تصمیم گرفتیم دنبال تارگتی آسیبپذیر بگردیم، جایی که ورودیهای داینامیک مثل id، newsId یا فیلد جستجو در URL پروژه دیده میشد. با دورکنویسی، صفحههایی را پیدا کردیم که پارامترهای عددی دریافت میکردند.
site.com/news.php?id=2
حالا وقتش بود با یک کوتیشن ' یا کاراکتر خاص، تست کنیم که آیا سایت ارور میدهد یا خیلی حرفهای دفاع کرده.
با اضافه کردن ' به انتهای پارامتر یا ارسال مقدارهای عجیب، در صفحه ارور Syntax یا خطای دیتابیس ظاهر شد! این یعنی کلید طلایی کشف باگ SQL Injection رو گرفتیم. با این کشف اولیه، سریع به سراغ ابزارهای حرفهای رفتیم.
قسمت هیجان انگیز کار زمانی فرا رسید که ابزارهایی مثل sqlmap یا ScanQLi را اجرا کردیم؛ این ابزارها مثل یک جادوگر امنیتی، سایت را اسکن میکنند و اگر حمله موفق باشد، لیست کامل جدولها، ستونها و اطلاعات مهم را شناسایی میکنند. گاهی هم تست دستی انجام دادیم: متدهایی مثل UNION SELECT یا Blind SQL را تست کردیم تا ببینیم محدودیتها چقدر جدی هستند.
در تیم همیشه گزارشنویسی دقیق داشتیم. هر مرحله، از تست دستی تا ابزار خودکار، با مستندات ثبت میشد تا مسیر گم نشود. وقتی یکی از اعضا ایده جدیدی داشت، همه تیم گوش میداد و نکتهای رد نمیشد؛ همکاری همیشه اصل اول بود
هیچوقت فقط به ابزارها قانع نشدیم؛ تست دستی گاهی چیزهایی را فاش میکند که ابزارها نمیبینند.
ارورهای سایت گاهی پنهان هستند و باید صفحه را دقیق بررسی کرد؛ حتی یک جواب سفید هم سرنخ است.
اخلاق تیمی مهم بود؛ دستکاری دیتابیس یا حذف اطلاعات ممنوع! فقط کشف و گزارش هدف اصلی بود