--- template: overrides/blog.html icon: material/plus-circle title: PHP - assert() description: > search: exclude: true hide: - feedback tags: - PHP - Path Traversal --- # __PHP - assert()__ :octicons-calendar-24: 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](https://www.root-me.org/en/Challenges/Web-Server/PHP-assert) Link challenge này tại [:octicons-arrow-right-24: http://challenge01.root-me.org/web-serveur/ch47/][http://challenge01.root-me.org/web-serveur/ch47/] [http://challenge01.root-me.org/web-serveur/ch47/]: 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 `` vào website. Tiếp theo, ta tiến hành xem sourcecode Ta được sourcecode như sau.