PHP - assert()¶
Estimated time to read: 3 minutes
May 09, 2023
Tài nguyên và link challenge¶
Tài nguyên của challenge này tại https://www.root-me.org/en/Challenges/Web-Server/PHP-assert
Link challenge này tại http://challenge01.root-me.org/web-serveur/ch47/
Tổng quan¶
Trong challenge này, mục tiêu của ta tìm và khai thác lỗ hổng để đọc file passwd.
Kịch bản tấn công¶
Như thường lệ ta inject bằng LFI, RFI các kiểu thì thấy lỗi như hình dưới
Roài, thì đây ta thấy nó không có filter gì đầu vào và ta có thể attack như kiểu sql injection thôi, ::)
Tức ta sẽ tiêm một logic vào và thay thế cái đoạn output Detected hacking attempt!
. Tức là ta sẽ chỉnh lại die('Detected hacking attempt!') thành die(show_source('.passwd')) :3 để nó có thể xuất ra password cho mình
Ta được, challenge include cái <?php include("ch12.php");?>
vào website. Tiếp theo, ta tiến hành xem sourcecode
Ta được sourcecode như sau.
Well, có sourcecode rồi, ta thấy rằng logic xử lí trong sourcecode cũng khá dễ hiểu, ta sẽ tiến hành xem code file config.php
Sau khi decode, ta được
Yeahhh, flag cần tìm là DAPt9D2mky0APAF
Flag
DAPt9D2mky0APAF