ASISCTF 2017 - Web - Secure portal [1,2,3]

Hey yo!

Long time no C++
Có chút vấn đề khi mình viết writeup cho bài này đó là phần lầy flag có vẻ không hoạt động 🙁 nên hiện tại mình chỉ có thể viết được phần 1.

Okie, link

Có gợi ý như sau By the way I know it's dangerous to code with IDE in server-side but I really obey security instructions.

Vào trang web và lưu lại các request & response bằng Burpsuite Proxy

Có thể là có cả những file cấu hình project - Information leak. Tiện sẵn máy mình cũng cài PHPStorm nên tạo luôn 1 project để xem thế nào

Như vậy là có các file như trong hình, thử vào .idea/workspace.xml và ...

Tiếp tục là 1 file php khác

Phân tích kỹ ta có 1 đoạn compare lỗi == ở if($realSign == $signature)

Bypass bằng cách bruteforce input để md5sum của (input + unknown-key) = 0e[a-f0-9]{30} aka magic hash, sau đó đến phần unserialize của $payload... hmm, không đơn giản lắm nhỉ, bruteforce mà vẫn phải unserialize được. Tuy nhiên thì ta có thể chèn thêm junk variables vào trong $payload mà deserialize không ảnh hưởng gì cả.

Ví dụ

Chạy 1 lúc (ở server cũ)

Sử dụng auth trên để lấy flag + source cho phần thứ 2.

<continue>