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 : 2025-08-20 13:53:24
- 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