web渗透--26--服务器端包含注入(SSI注入)

1、漏洞描述:

Web服务器通常允许开发人员在静态HTML页面内嵌入少量的动态代码,而无需处理全部的服务器端或客户端语言。这个特征称作:服务器端包含(SSI)。在SSI注入测试中,我们测试能否注入可由SSI机制解释的应用程序数据。该漏洞的成功利用允许攻击者在HTML页面中插入代码,甚至实施远程代码执行。

服务器端包含是Web服务器在将页面提供给用户之前所要解析执行的指令。当只需要执行非常简单的任务时,SSI是编写CGI程序或嵌入服务器端脚本语言的一种替代方法。常见的SSI实现提供的命令包括外部文件、设置和输出Web服务器的CGI环境变量以及执行外部CGI脚本或系统命令。

在静态HTML文档中嵌入SSI指令可以编写如下代码:


输出当前时间:


包含一个CGI脚本的输出:


包含一个文件内容或一个目录的文件列表:


包含一个系统命令的输出。

然后,如果Web服务器开启了对SSI的支持,服务器便会解析这些指令。通常,在默认配置中,大多数Web服务器不允许使用exec指令来执行系统命令。

像在每种错误的输入验证情况下一样,当Web应用程序的用户允许提交数据,并且数据导致应用或web服务器以不可见对方式运行时,就会出现问题。对于SSI注入,如果应用程序把用户提交的输入插入到动

你可能感兴趣的:(web渗透)