ssi漏洞介绍
SSI
SSI Injection (Server-side Include)服务器端包含提供了一种对现有HTML文档增加动态内容的方法。根据查资料的理解这是http服务器提供支持的一个特性。apache和iis都可以通过配置支持SSI。apache关于SSI的文档
在网页内容被返回给用户之前,服务器会执行网页内容中的SSI标签。在很多场景中,用户输入的内容可以显示在页面中,比如一个存在反射XSS漏洞的页面,如果输入的payload不是xss代码而是ssi的标签,服务器又开启了ssi支持的话就会存在SSI漏洞
实例演示
使用bwapp测试:
输入ssi支持的标签语法,查看返回是否执行
<!--#echo var="DATE_LOCAL" -->
<!--#exec cmd="whoami" -->
默认情况下,ssi不支持cmd执行,所以ssi这种漏洞会慢慢退出历史舞台。
修复方案
ssi这种技术已经比较少用了。如果应用没有使用到ssi,关闭服务器对ssi的支持即可。