[CMTK] Giới thiệu công cụ pwntools

tmnt53

VIP Members
25/04/2015
98
132 bài viết
[CMTK] Giới thiệu công cụ pwntools
Gửi tới các bạn video giới thiệu về pwntools - một CTF-framework phổ biển trong giới pwner.

Video gồm các phần như sau:
  • Khai thác một bài CTF làm ví dụ, bằng cách không sử dụng pwntools.
  • Khai thác bài trên bằng pwntools.
    • Giới thiệu cách cài đặt, môi trường.
    • Khai thác
=> Qua đó so sánh được lợi ích của công cụ này...
Video:
Các file đi kèm theo video hướng dẫn: https://whitehat.vn/attachments/gio...8/?temp_hash=66d27d7592b713dc3b76795a18b16048
 
Chỉnh sửa lần cuối bởi người điều hành:
cho em hỏi là chương trình cho đoạn :Can you pwn me? I give you a clue: 0xff863cf8
thì cái địa chỉ 0xff863cf8 là random. nếu như chương trình chạy tại địa chỉ này nghĩa là chạy lệnh trong buffer phải không ạ
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
cho em hỏi là chương trình cho đoạn :Can you pwn me? I give you a clue: 0xff863cf8
thì cái địa chỉ 0xff863cf8 là random. nếu như chương trình chạy tại địa chỉ này nghĩa là chạy lệnh trong buffer phải không ạ
Đó là địa chỉ của v4 - buffer nhập dữ liệu vào qua gets. Buffer được lưu trên stack, và ở dưới buffer là địa chỉ trả về của hàm main. Ta ghi tràn buffer thì sẽ đè lên địa chỉ trả về và điều khiển được luồng thực thi của chương trình. Em có hiểu cái này không?
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Đó là địa chỉ của v4 - buffer nhập dữ liệu vào qua gets. Buffer được lưu trên stack, và ở dưới buffer là địa chỉ trả về của hàm main. Ta ghi tràn buffer thì sẽ đè lên địa chỉ trả về và điều khiển được luồng thực thi của chương trình. Em có hiểu cái này không?
còn biến sampleBufAddr là địa chỉ của đầu của tham số truyền vào à a
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
còn biến sampleBufAddr là địa chỉ của đầu của tham số truyền vào à a
Ừa đấy là địa chỉ của tham số truyền cho hàm gets, cũng chính là v4. Địa chỉ v4 nó không cố định, nên khi chạy trong gdb, thì anh đặt tên nó là "sample". Mục đính của 2 biết sampleBufferAddr và sampleRetAddr chỉ là để lấy khoảng cách từ địa chỉ v4 tới vùng lưu địa chỉ trả về thôi. Cái khoảng cách này nó cố định. Vậy mình sẽ truyền vào payload có độ dài tới khoảng cách này, rồi + thêm địa chỉ XXXX gì đó nữa, thì XXXX sẽ bị đè lên vùng lưu địa chỉ trả về. Khi chương trình thực hiện lệnh ret thì sẽ nhảy tới vùng XXXX.
Đấy là bản chất của điều khiển chương trình
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Ừa đấy là địa chỉ của tham số truyền cho hàm gets, cũng chính là v4. Địa chỉ v4 nó không cố định, nên khi chạy trong gdb, thì anh đặt tên nó là "sample". Mục đính của 2 biết sampleBufferAddr và sampleRetAddr chỉ là để lấy khoảng cách từ địa chỉ v4 tới vùng lưu địa chỉ trả về thôi. Cái khoảng cách này nó cố định. Vậy mình sẽ truyền vào payload có độ dài tới khoảng cách này, rồi + thêm địa chỉ XXXX gì đó nữa, thì XXXX sẽ bị đè lên vùng lưu địa chỉ trả về. Khi chương trình thực hiện lệnh ret thì sẽ nhảy tới vùng XXXX.
Đấy là bản chất của điều khiển chương trình
à em hiểu rồi. Cảm ơn anh
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: tmnt53
Comment
Thẻ
pwntools
Bên trên