
امروز داشتم دنبال تارگت میگشتم که اتفاقی به یه تارگت جالب برخوردم.
شروع کردم به یه بررسی معمولی و همون اول متوجه شدم که وب اپلیکیشن Directory Listing داره.
گفتم خب، بذار ببینم داخلش چی هست.
وقتی فایلها رو دیدم، متوجه شدم فقط چندتا فایل معمولی نیست و Source Code پروژه هم اونجاست.
اولین کاری که کردم این بود که کل Source رو دانلود کردم.

بعد شروع کردم فایلها رو یکییکی بررسی کردن که ببینم چیزی داخلشون هست که نباید اونجا باشه یا نه.
بین فایلها به یه فایل جالب رسیدم.
توی اون فایل، Application داشت به یه MySQL Remote Database وصل میشد و اطلاعات اتصال هم داخل Source وجود داشت.

اینجا دیگه داستان جالب شد.
دیتابیس روی AWS بود و با اطلاعاتی که داخل Source پیدا کرده بودم، تونستم به MySQL وصل بشم.

خب، وقتی دیدم اتصال برقرار شده، قدم بعدی مشخص بود:
Database Dump.
از دیتابیس Backup گرفتم و بعد برای اینکه راحتتر بتونم اطلاعات رو بررسی کنم، Dump رو داخل XAMPP و phpMyAdmin Import کردم.
اینجوری کار خیلی راحتتر شد و میتونستم جدولها و اطلاعات داخل Database رو مرتبتر بررسی کنم.
شروع کردم بین جدولها گشتن.
بعد از یه مقدار بررسی، به اطلاعات مربوط به Admin رسیدم.
گفتم خب، حالا Credential ادمین رو هم داریم.
ولی یه مشکل وجود داشت.

Password به شکل یه Hash معمولی ذخیره نشده بود و با چیزی که انتظار داشتم فرق داشت.
پس دوباره برگشتم سراغ همون Source Code.
بین فایلها به یه فایل با اسم enc_dec.php رسیدم.
وقتی کدش رو بررسی کردم، مشخص شد چیزی که داخل Database دیده بودم قابل تبدیل به مقدار اصلیه و داستان Hash کردن Password نبود؛ عملاً مکانیزم رمزنگاری/رمزگشایی داخل Application وجود داشت.
به لطف فایل enc_dec.php، تونستم Password رو به مقدار قابل استفاده برای Login تبدیل کنم.
خب، حالا Credential رو داشتم.

فقط یه چیز مونده بود:
پنل ادمین کجاست؟
شروع کردم با Google Dorkو فاز کردن ، ولی به نتیجهای نرسیدم.
آخرش گفتم بذار خود IP رو باز کنم.
IP رو با HTTP باز کردم و جالب اینجا بود که Server خودش منو به سمت Admin Panel Redirect کرد.

Credentialهایی که به دست آورده بودم رو وارد کردم و...
وارد پنل ادمین شدم.

تا اینجا زنجیره این شکلی شده بود:
Directory Listing → Source Code → MySQL → Database Dump → Password Recovery → Admin Panel
ولی هنوز ماجرا تموم نشده بود.
بعد از بررسی بیشتر Source Code، به یه فایل دیگه رسیدم که اطلاعات مربوط به Firebase داخلش قرار داشت.

این بار هم Credentialها رو بررسی کردم و مشخص شد میشه از اونها برای Authentication به پروژه مربوطه استفاده کرد.

یعنی چیزی که اول فقط یه Directory Listing ساده به نظر میرسید، منو از Source Code رسوند به Database، بعد Admin Panel و در نهایت Firebase.
و اینجا بود که فهمیدم:
Directory Listing فقط شروع ماجرا بود.