Web_XCTF_WriteUp | command_execution
题目
提示:
小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。
题目:
分析
简单了解了一下 waf,全称 Web 应用防火墙(Web Application Firewall),工作在应用层。其功能包括:
- 禁止HTTP协议的非安全方法
- 伪装Web服务的特征
- 防止API和命令注入
- 防止路径遍历和文件包含注入,对敏感的系统路径进行保护
- 防止sql注入
- 防止XSS攻击
- 防止网页挂马
- 防护CC攻击
- 文件上传的防护
- 动态IP黑名单
- 白名单
- 与实时计算平台对接
回到题目,这个界面和 Web_BUUCTF_WriteUp | [ACTF2020 新生赛]Exec 如出一辙,先尝试正常 ping 192.168.0.0
:
好家伙,命令内容都直接显示出来了。ping -c 3
限制了接受包的次数为 3 次。
接下来看看输入的内容会不会被过滤掉。输入 ;ls
:
病名为命令执行漏洞。逐级后退查看目录:
;ls ../
;ls ../../
;ls ../../../
当后退到第四级目录时发现输出不变,即已经到达根目录,但仍未发现 flag。
直接 find 文件。摸索了一下,通过 ;find / -name "flag*"
找到 flag 位置:
用 cat 打开文件:
得到 flag。
Flag
cyberpeace{85b316d6deccaf22d56322546e07b139}
参考
WAF入门扫盲篇(一遍就懂)-双缝干涉-知乎
Web应用防火墙WAF是什么?防火墙的功能及使用场景介绍-华为云
Linux ping 命令-菜鸟教程
Linux find 命令-菜鸟教程
Linux - 常用通配符-7bGWFm-博客园
Linux cat 命令-菜鸟教程