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}