Apache远程命令执行漏洞
Apache远程命令执行漏洞
一、SHTML
sthtml简介:
shtml是一种基于SSI技术的文件,也就是(Server Side Include)SSI服务器端包含指令,一些Web Server如果有SSI功能的话就会对shtml文件特殊招待,服务器会先扫一次shtml文件看没有特殊的SSI指令存在,如果有的话就按Web Server设定规则解释SSI指令,解释完后跟一般html一起调去客户端。
html或htm与shtml或shtm的关系:
html或者htm是一种静态的页面格式,也就是说不需要服务器解析其中的脚本,或者说里面没有服务器端执行的脚本,而shtml或者shtm由于它基于SSI技术,当有服务器端可执行脚本时被当作一种动态编程语言来看待,就如asp、jsp或者php一样。当shtml或者shtm中不包含服务器端可执行脚本时其作用和html或者htm是一样的。
二、SSI指令
1.SSI:(Server Side Include)的简写,服务器端嵌入或者服务器端包含。
通过在文档中加入SSI指令,服务器端在输出文档之前会解析SSI指令,并把解析完的结果和文档一同输出给客户端。
2.SSI的指令格式为:
<!-- #directive parameter="value" -->
<!-- -->
:是HTML语法中表示注释,当WEB服务器不支持SSI时,会忽略这些信息。
directive
:指令名
parameter
:指令参数
value
:指令参数值
SSI的指令格式形如HTML注释。在将内容发送到浏览器之前,可以使用SSI指令将文本、图形或应用程序信息包含到网页中,如果Web服务器开启了SSI功能模块,并且页面包含可以解析的指令,那么Web服务器就会解析这个指令。若服务端没开启SSI功能模块或者开启了SSI功能模块,但是页面包含的指令不是可以解析的指令,那么将当做注释处理。
3.SSI包含的指令有:
config:修改 SSI 的默认设置
echo:显示环境变量
exec:执行 CGI 脚本
flastmod :显示指定文件的最后修改日期
fsize:显示指定文件的大小
include:把其它文档插入到当前被解析的文档中