- 修复建议
文末 “修复建议” 有 SSI 配置解读
SSI简介:
漏洞复现之前,要知道SSI是什么,那么SSI是什么呢?
SSI----即server-side includes
SSI功能:
SSI提供了一种对现有HTML文档增加动态内容的方法,不需要编写复杂的JSP/PHP/ASP等程序或者调用CGI程序。
SSI用法:
SSI的语法格式类似HTML的注释,因此正确启用SSI之后,浏览器可以忽略他但是源码仍然可见,服务器会对特定的SSI指令解析,从而实现少量动态内容的添加。
文末 “修复建议” 有 SSI 配置解读
影响版本
同样是因为配置不当的原因造成的。
漏洞原理
当目标服务端存在不允许上传php后缀的文件时,但是同时又开启了SSI与CGI支持,攻击者就可以上传一个shtml文件,并利用 语法执行任意命令。因为 SSI 支持从 HTML 的注释行中读取命令并执行,所以当 HTML 注释行中存在恶意的代码时,就会造成远程命令执行。
例如:
<!--#echo var="cat /etc/passwd" -->
环境准备
靶机环境 139.196.87.102 (vulhub)
攻击机环境 192.168.8.131 (虚拟机 Ubuntu 20、Java1.8、Burp)
启动 Apache SSI 远程命令执行漏洞 环境
1.进入 vulhub 的 ssi-rce 路径
cd /usr