# HackTheBox - ProxyAsAService Truy cập trang web thấy tham số `url` cho phép người dùng nhập vào 1 URL ![image](https://hackmd.io/_uploads/Hy94N4Bda.png) Sau khi phân tích source code và các file cấu hình, thu thập được một số thông tin quan trọng: Flag được lưu ở biến môi trường của website ![image](https://hackmd.io/_uploads/Sy-aNNS_p.png) Ứng dụng web chạy trên port 1337 ![image](https://hackmd.io/_uploads/HktkBVHOp.png) Route /environment sẽ hiện thị tất cả các các biến môi trường. ![image](https://hackmd.io/_uploads/ryErB4H_p.png) Chỉ có thể truy cập được /environment từ localhost (địa chỉ là 127.0.0.1) ![image](https://hackmd.io/_uploads/Syy9HEBd6.png) Suy ra chúng ta cần khai thác lỗi SSRF ở đây Phân tích hàm proxy() ![image](https://hackmd.io/_uploads/HJ6tw4Hdp.png) Biến target_url thêm url vào cuối Do SITE_NAME không có '/' ở cuối nên ta có thể kiểm soát được url Ví dụ: ```w! http://1.1.1.1@2.2.2.2 ==> http://2.2.2.2 ``` Trong ví dụ này http://2.2.2.2 sẽ là url đích. Bây giờ thử dùng kỹ thuật này để khai thác Do code hạn chế một số chuỗi trong URL ![image](https://hackmd.io/_uploads/SknjdVSda.png) nên không thể điều hướng đến 127.0.0.1 Nhưng file run.py host được chạy với 0.0.0.0 ![image](https://hackmd.io/_uploads/r1GAdVHOa.png) Thử với `@0.0.0.0:1337/debug/environment` Lấy được flag ![image](https://hackmd.io/_uploads/Hk2SKVHdp.png)