ctfshow web50的疑问 --web容器环境
# 前言
看群里有师傅学习到ctfshow命令执行web50
这里提出疑问,为什么这里为啥c=tac<fla?.php|| 不行呀
,想起来之前刷到这里我也有这个疑问
前面的铺垫可以学习到
tac fla?.php
tac f*
ta\c fla''g.php
tac<fla''g.php
1
2
3
4
2
3
4
通过这道题的前几道题的铺垫可以学习到<
重定向符可以把文件的内容输出到tac
命令中,?
,.
通配符可以绕过直接写文件名的限制,但是两个玩法结合在一起就失效了
ta\c<fla?.php
1
# 测试
# 本地ubuntu测试
在本地ubuntu测试发现,这条命令是可以正常执行的
查看,Ubuntu
的默认shell环境是/bin/bash
感觉靶机的版本或者环境不同等引发的问题
查看一下靶机操作系统信息
确定靶机是alpine
的操作系统,装个虚拟机测试一下
# Alpine Linux虚拟机测试
在本地Alpine测试发现,果然重定向符<
和通配符?
结合在一起就失效了,找不到文件
查看,Alpine
的默认shell环境是/bin/ash
# 总结
Alpine Linux
不支持<
重定向符和通配符?
结合使用。
Ubuntu
的默认shell环境是/bin/bash
,功能更强大
Alpine
的默认shell环境是/bin/ash
,许多 bash 特有的扩展功能不可用,导致两者在处理命令执行时存在差异
参考:
编辑 (opens new window)
最后一次更新于: 2024/10/31, 18:11:37