LYS Rop lab_rop1 Writeup
lab_rop1
執行看一下:
file 看一下:
r2 看一下 main:
OK,首先他把第一個輸入讀到全域變數 obj.name,然後開了一個 0x10 的 buffer 但是讀了 0x100 個 bytes。
那我們的計畫就是把 “/bin/sh\0” 先放到 obj.name,然後正常 rop 就行,值得注意的是因為是 statically linked,所以基本上 gadget 蠻好找的。
至於 obj.name 的位置怎麼找有蠻多方式的,r2 很貼心的把位址寫在 obj.name 上面,也可以直接開 ida 看,或是用 objdump 也行,這裡再示範一下 objdump 的找法:
1 | objdump -M intel -d rop1 | less |
gadget 找法:
1 | ROPgadget --binary ./rop --only "pop|ret" | less |
exploit.py:
1 | from pwn import * |
Pwned !!!
- Title: LYS Rop lab_rop1 Writeup
- Author: kazma
- Created at : 2023-12-12 22:54:46
- Updated at : 2023-12-14 01:06:43
- Link: https://kazma.tw/2023/12/12/LYS-Rop-lab-rop1-Writeup/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments