Hackthebox - ProxyAsService
Description
Challenge này là một proxy giữa ta và một trang web khác.
Ở đây là Reddit
.
Lần đầu tiên khi truy cập vào challenge, ta sẽ được chuyển hướng đến một subreddit ngẫu nhiên về mèo:
Tuy nhiên, ta có thể thấy url của trang web vẫn nằm ở proxy chứ không hoàn toàn chuyển hướng đến reddit.
Exploitaion
Đầu tiên, kiểm tra source code của challenge.
Ứng dụng web được chạy trên cổng 1337.
Flag được lưu ở route /environment.
Tuy nhiên, ta chỉ có thể truy cập vào route /environment bằng localhost.
Kiểm tra file route.py.
Ta có thể thấy url được thêm vào cuối target_url:
target_url = f'http://{SITE_NAME}{url}'
Ở phía cuối của url không có dấu / nên ta có thể sử dụng cách khai thác này:
http://1.1.1.1@0.0.0.0 => http://0.0.0.0
Khi ta thêm dấu @ vào cuối url thì tất cả các thành phần trước dấu @ sẽ được comment và sẽ chuyển hướng đến url được điền phía sau dấu @.
Kiểm tra:
Payload với route /debug/environment và port 1337:
http://94.237.58.211:56744/?url=@localhost:1337/debug/environment
Xuất hiện thông báo lỗi.
Kiểm tra soucre code ta thấy server sử dụng một blacklists để kiểm tra đầu vào:
Đây
là một số cách để truy cập localhost.
Thử truy cập với 0.0.0.0:
Payload:
http://94.237.58.211:56744/?url=@0.0.0.0:1337/debug/environment
Flag: HTB{fl4gs_4s_4_S3rv1c3}