Apache远程命令执行漏洞

1|0Apache远程命令执行漏洞


1|1一、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是一样的。

1|2二、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:把其它文档插入到当前被解析的文档中

1|3三、漏洞复现


1.环境

2.web页面http://ip:8080/upload.php

3.上传1.shtml文件

4.上传成功

5.访问http://ip:8080/1.shtml

6.服务器验证


__EOF__

本文作者ct-debuger
本文链接https://www.cnblogs.com/ct-debug/p/15304615.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ct-debug  阅读(424)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示