Viblo CTF Chơi Cho Vui

75 Likes Comment

Hôm nay mình rảnh nên ngồi chơi CTF tý cho vui vào chọn một thử thách để chơi giết thời gian tý.

I: Tragic pHp

Đầu tiên vô web xem sao

Hình như nó bắt mình nhập key gì đó xem mã nguồn xem sao

nó cho mình tới cái file phps chắc là mã nguồn chăng

Thì đúng nó là mã nguồn thiệt

Việc chúng ta là đi tìm cái gì đó để so sánh với cái gì đó được giấu từ đó sinh ra key,

Nhưng khoan trước khi đi tìm cái gì đó thì thấy cái strcmp, ủa so sánh vậy thì chết roài, cái strcmp có lỗ hổng chết người từ lâu rồi khi so sánh chuỗi với chuỗi thì không sao nhưng khi so sánh mảng thì lại cho kết quả NULL! Mà NULL == 0 => true, tính năng vi diệu vậy thì lấy cờ thôi

II: PHP info

Đầu tiên cho mình mã nguồn như vậy


Nhìn phát mình biết ngay do mã nguồn này mình đã dùng để đi khai thác RCE trên malwaredecoder nên chỉ mất 5s để lấy được flag.

Chi tiết về cách khai thác này các bạn có thể tham khảo ở đây

III: Enough PHP magic

Ở phần này thì chúng ta có một ô nhập cái gì đó để tìm cái gì đó

dựa vào phần I trên thì mình đoán luôn file index.phps, không nằm ngoài dự đoán có mã nguồn luôn này

Như vậy đã rõ chúng ta phải so sánh cái gì với cái gì rồi. và chúng ta thấy vấn đề với extract của php.

Và ta chỉ được flag khi mà 2 biến attempt và combination bằng nhau, mà biến combination được lấy từ filename.
Giả sử, ta cho biến attemp='' và filename=<any value> thì sẽ như thế nào?

Code nó sẽ chạy như sau:

  • Nó sẽ gán lại cho 2 biến trước đó bằng giá trị mà ta vừa gửi lên
  • Nhưng quan trọng là filename nó không có trong resource thì sẽ trả về rỗng, rồi gán cho combination
  • Mà attempt cũng rỗng nên 2 thằng đó bằng nhau và ta có flag

Kết quả:

Thôi tạm thời nghịch thế đã 🙂

0 0 votes
Article Rating

You might like

Avatar

About the Author: Vô Ưu

Xin chào! Tôi là Vouu, người sáng lập blog này. Tôi là một người yêu thích. Tôi có một công việc ban ngày với tư cách là một chuyên viên bơm vá săm xe các loại, và trang web này là một trong những hoạt động yêu thích của tôi, đặc biệt là trong những lúc rảnh rỗi. Hy vọng bạn thích sử dụng trang web này, và nó sẽ mang lại cho bạn nhiều điều bổ ích. Phản hồi từ người đọc sẽ truyền cảm hứng cho tôi để tôi có thể viết được nhiều hơn nữa !. Bạn chỉ cần để lại nhận xét bên dưới nếu bạn thấy bài viết này hữu ích. Chúc bạn ngày mới tốt lành!
Subscribe
Notify of
guest
0 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x