--- 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
![Image title](/rootme/web-server/php/images/php_assert()-01.png#zoom)
Hình ảnh website challenge
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
![Image title](/rootme/web-server/php/images/php_filters-02.png#zoom)
Hình ảnh website challenge
Ta được, challenge include cái `` vào website. Tiếp theo, ta tiến hành xem sourcecode
![Image title](/rootme/web-server/php/images/php_filters-03.png#zoom)
Hình ảnh website challenge
Ta được sourcecode như sau.
``` php linenums="1"

FileManager v 0.01