Encoding

 


Enumeration

Zenmap:


Liệt kê trang web thấy sitename là haxtables.htb và 1 subdomain api.haxtables.htb:

Thêm haxtables.htbapi.haxtables.htb vào C:\Windows\System32\drivers\etc:

Gobuster:

Thêm image.haxtables.htb vào C:\Windows\System32\drivers\etc:

Trong page api, kiểm tra các api và thử khai thác, tôi thấy:

 

Thử chèn vào file_url: 'file///ect/passwd' 

Giải mã chuỗi trên đã thu được thông tin của file passwd.

Thử tương tự với các file khác, trong tên miền phụ image tôi thu được: 

  • utils.php

 

 Tôi nhìn thấy git có hoạt động trong domain image, sử dụng GitDumper để lấy kho git, tôi đã thất bại trong việc lấy kho git bằng GitDumper, kiểm tra web thì nhớ ra là web đã bị chặn do giới hạn quyền truy cập, nên tôi đành phải lấy tay từng file  từ kho git thông qua lỗ hổng lfi trước đó. Sau đó sử dụng GitKraken thấy file action_handler.php :

Hàm include có đầu vào là tham số page được chuyền từ ngoài vào, đây có thể là một lỗ hổng có thể khai thác được. Thử nó với tham số file_url:

Kế quả thất bại, kiểm tra source code tôi nhận ra nó đã bị chặn vì không có quyền. Tôi phải thử tìm kiếm lỗi hổng khác, tôi nhận ra trên website chính, trong tab Convertions, tìm kiếm thêm và thấy file handler.php.

  • handler.php

 

Phân tích đoạn code: khi biến data_file truyền vào không tồn tại thì is_file sẽ được đánh thành false, những biến dữ liệu sẽ được cập nhập vào và gọi tới hàm make_api_call.

  • function  make_api_call trong utils.php (subdomain api)

 

 Hàm make_api_call sẽ thực hiện gọi tới url đã chuyền vào. nhưng url được nối chuỗi dưới dạng: $url = 'http://api.haxtables.htb' . $uri_path . '/index.php'; để bỏ qua được $uri_path phải có dạng đầu ':<whatever>@' và đuôi là & mục đích để vô hiệu hóa 'http://api.haxtables.htb'  và biến '/index.php' thành tham số.


 Tạo PHP filters chain:

Tạo file s:

Mở port 80 để đẩy file lên server: 

Khai thác và tôi đạt được một vỏ:

Nâng quyền:





 

Dryu8

Dryu8 is just a newbie in pentesting and loves to drink beer. I will be happy if you can donate me with a beer.

Post a Comment

Previous Post Next Post