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

Thảo luận trong 'Exploitation' bắt đầu bởi tmnt53, 05/07/17, 09:07 AM.

  1. tmnt53

    tmnt53 Moderator Thành viên BQT

    Tham gia: 25/04/15, 09:04 AM
    Bài viết: 128
    Đã được thích: 95
    Điểm thành tích:
    28
    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
     

    Các file đính kèm:

    Chỉnh sửa cuối: 05/07/17, 09:07 AM
    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
  2. quanghnn

    quanghnn W-------

    Tham gia: 13/06/15, 05:06 PM
    Bài viết: 6
    Đã được thích: 1
    Điểm thành tích:
    3
    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ư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
  3. tmnt53

    tmnt53 Moderator Thành viên BQT

    Tham gia: 25/04/15, 09:04 AM
    Bài viết: 128
    Đã được thích: 95
    Điểm thành tích:
    28
    Đó 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?
     
    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
  4. quanghnn

    quanghnn W-------

    Tham gia: 13/06/15, 05:06 PM
    Bài viết: 6
    Đã được thích: 1
    Điểm thành tích:
    3
    còn biến sampleBufAddr là địa chỉ của đầu của tham số truyền vào à a
     
    Chỉnh sửa cuối: 05/01/18, 11:01 PM
    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
  5. tmnt53

    tmnt53 Moderator Thành viên BQT

    Tham gia: 25/04/15, 09:04 AM
    Bài viết: 128
    Đã được thích: 95
    Điểm thành tích:
    28
    Ừ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
     
    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
  6. quanghnn

    quanghnn W-------

    Tham gia: 13/06/15, 05:06 PM
    Bài viết: 6
    Đã được thích: 1
    Điểm thành tích:
    3
    à em hiểu rồi. Cảm ơn anh
     
    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
    tmnt53 thích bài này.