命令注入漏洞原理
其实命令注入漏洞也叫命令行注入漏洞,此漏洞是指web应用程序中调用了系统可执行命令的函数,而且输入的参数是可控的,如果黑客拼接了注入命令,就可以进行非法操作了。
靶机搭建
链接:https://pan.baidu.com/s/1W8kgkYPrHchakwy9kU6g7A
提取码:9mm5
漏洞复现
- 使用netdiscover发现存活主机
netdiscover -i eth0
- 使用nmap对目标进行服务探测
nmap -sV 192.168.101.46
- 发现它只开放了80端口的Apache服务
- 使用dirb进行网站的目录挖掘
dirb http://192.168.101.46
- 发现了这么一些敏感的目录信息
- 在robots.txt文件中的nothing目录中发现了可能的用户密码信息
- 登录nothing目录并查看源码信息
- 进入secure的网址,发现有一个压缩包,下载并解压
- 解压过程需要密码,因此使用上面的密码逐一尝试
- 解压出来的是一个后缀名为mp3的文件,果断使用file命令判断文件类型,发现是一个text文本文件
- 果断使用cat命令查看里面的内容
- 发现了存在一个touhid的用户和另一个目录,密码未知
- 登录上述目录,发现是一个网站的后台,使用的是playSMS搭建
- 使用touhid用户名和diana密码登录成功
- 因为这是一个框架,所以可以上网搜索现成的EXP脚本进行漏洞的利用。我们这里使用的是kali自带的searchsploit命令进行查看
searchsploit playSMS
- 查看一下该漏洞模块的信息,请认真阅读别人的漏洞利用概述
cat /usr/share/exploitdb/exploits/php/webapps/42003.txt
这个漏洞的利用原理是:用户上传backdoor.php文件给服务器,服务器并不会执行该php里面的内容,因为服务器只读取到文件的名字而已,但是只要把backdoor.php改为<?php system('uname -a');dia();?>.php的话,服务器就会执行该文件名字的代码,其实就是一个代码执行的漏洞
7. 登录进去漏洞验证的URL网址中
- 首先先创建一个csv文件,并使用burpsuite抓包
- 在bp中对filename这个变量的值进行替换
将filename的内容更改完成后,页面显示出了该命令的回显信息
这是一个www-data的用户名