Bài đăng

Đang hiển thị bài đăng từ Tháng 11, 2021
Hình ảnh
  [ASCIS 2021 - PWN] NOTE Chào cả nhà, sau khi mình không vào được chung khảo nên đâm ra cay cú phải xin bằng được để pwn chung khảo. Sau 1 thời gian loay hoay giải bài note thì mình quyết định viết write up để chứng tỏ trình mình cũng chẳng phải gà :)).  Bài này là 1 bài heap, code dịch ngược rất dài vì menu nó có tới 9 chức năng: Mình sẽ tập trung vào CreateNote, SaveNote, ListNote, RemoveNote, EncryptNote, DecryptNote. Đầu tiên là các struct: Struct đầu lưu 1 con trỏ tới 1 vùng heap 0x400, lưu con trỏ tới note, lưu tối đa 0x80 và biến count để lưu số note hiện tại. Struct thứ 2 quan trọng nhất, tên note dài 0x100, sau đó là length của nội dụng note_content, thằng bit mình chả biết nó để làm gì và chính nó khiến mình đau khổ suy nghĩ, function free là 1 con trỏ tới địa chỉ hàm 0x401380 Và cả 2 struct này đều lưu trên vùng nhớ tạo bởi thư viện libzone.so. Nếu mọi người chạy ./note thì sẽ báo lỗi vì không tìm thấy libzone.so, làm theo 2 câu lệnh sau: 1. CreateNote Mọi người cứ...