Pwn_0xGame_02

5 篇文章 0 订阅

1.Pwn题滞销,帮帮我好吗?

syscall

IDA打开
在这里插入图片描述
发现是个syscall的题目
直接去看这个函数的汇编
在这里插入图片描述
根据师傅们所说,我们需要让rax存入59,让syscall去调用execve函数 (ret2syscall?)
syscall_64 GitHub查询
之后要构造出来 execve("/bin/sh",0,0) 拿取权限
找"/bin/sh"字符串
方法一:
在程序中有,找到它
在这里插入图片描述
从’[‘数起到斜杠前面的空格’ ',再加上前面的04个字符,一共是22个,换成16进制是16h
所以"/bin/sh"的地址为:0x402016

方法二:
构造ROP链来寻找(这是看官方WriteUp看到的方法
ROPgadget --binary ./main --string '/bin/sh'
在这里插入图片描述
找来找去,最后还是要用到csu init函数

 text:00000000004011D8 loc_4011D8:                             ; CODE XREF: init+4C↓j
.text:00000000004011D8                 mov     rdx, r14
.text:00000000004011DB                 mov     rsi, r13
.text:00000000004011DE                 mov     edi, r12d
.text:00000000004011E1                 call    qword ptr [r15+rbx*8]
.text:00000000004011E5                 add     rbx, 1
.text:00000000004011E9                 cmp     rbp, rbx
.text:00000000004011EC                 jnz     short loc_4011D8
.text:00000000004011EE
.text:00000000004011EE loc_4011EE:                             ; CODE XREF: init+31↑j
.text:00000000004011EE                 add     rsp, 8
.text:00000000004011F2                 pop     rbx
.text:00000000004011F3                 pop     rbp
.text:00000000004011F4                 pop     r12
.text:00000000004011F6                 pop     r13
.text:00000000004011F8                 pop     r14
.text:00000000004011FA                 pop     r15
.text:00000000004011FC                 retn
.text:00000000004011FC ; } // starts at 4011A0
.text:00000000004011FC init            endp
.text:00000000004011FC



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值