中间件PUT上传漏洞
中间件包括apache、tomcat、IIS、Weblogic等,这些中间件可以设置支持的HTTP方法。(HTTP方法包括GET、POST、HEAD、DELETE、PUT、OPTIONS等)。
每一个HTTP方法都有其对应的功能,在这些方法中,PUT可以直接从客户机上传文件到服务器。如果中间件开放了HTTP中的PUT方法,那么恶意攻击者就可以直接上传webshell到服务器对应的目录。
直接上传shell,也可以从侧面反映PUT上传漏洞的严重危害性。
实验环境
攻击者:192.168.0.25
靶机:192.168.0.105
实验流程
- 端口扫描
- 端口详细信息探测
访问80端口的HTTP 服务
- web站点敏感信息探测
- 目录爆破
访问敏感目录/test/,是一个空目录。
- 探测该地址允许使用的请求方法
尝试利用火狐浏览器插件上传木马至该目录下。设置请求方法为PUT,设置HTTP响应类型为文件型,上传后的文件命名为shell.php。
注意:由于防火墙规则,靶机无法访问攻击机的任意端口,所以将shell反弹给攻击机的443端口。
上传成功
- 攻击机监听端口,执行shell.php反弹shell
- 优化shell,查看当前权限。
当前权限为www-data用户权限
- 提权
通过查看/etc/cron.daily目录,ckrootkit在特定时间会被执行,这是一款后门扫描工具的配置文件。
经过探测该应用程序存在溢出漏洞,可以利用其进行提权。
将溢出代码上传到服务器上面,注意代码格式!!!(缩进使用tab键)
注意:靶机IP地址变为192.168.0.31
上传成功
将该文件移动到/tmp目录下面,编译并重命名为update
执行提权exp,获得root权限