发布于2022年10月15日3年前 Apache是世界使用排名第一的web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl、Python等解释器编译到服务器中 Apache的目录结构 bin------------存放常用的命令工具,例如httpd cgi-bin--------存放 Linux下常用的命令,例如xxx.sh conf-----------Linux的配置相关文件,例如httpd..conf error----------错误记录 htdocs---------放网站源码 icons----------网站图标 logs-----------日志 manual---------手册 modules--------扩展模块 Apache对文件扩展名的定义 它是不可以解析php的!!! Apache解析漏洞(CVE-2017-15715) 影响版本:apache:2.4.0~2.4.29 漏洞复现:vulhub靶场中的httpd 进入vulhub,启动靶场. 直接上传phpinfo.php 是失败的 抓包进行修改 改成0a 成功上传 我们访问 http://192.168.116.166:8080/phpinfo.php%0a 分析原因 后台是通过黑名单方式过滤了php后缀的文件,根据最开始的知识,什么样的文件算是php文件呢?在有定义,这句话的意思是以php结尾的文件都算php文件,在正则中表示匹配输入字符串的结尾位置。如果设置了 RegExp对象的 Multiline属性,则也匹配\n或\r 恰好,我们在文件末尾加了0x0a(n),所以被匹配成功了。 1.0x0d \r CR这三者代表是回车,是同一个东西,回车的作用只是移动光标至该行的起始位置 2.0x0a \n CL这三者代表换行,是同一个东西,换行至下一行行首起始位置; 修复建议 1.升级到最新版本 2.或将上传的文件重命名为为时间戳+随机数+.jpg的格式并禁用上传文件目录执行脚本权限 Apache Ssl远程命令执行漏洞 影响版本 Apache全版本(支持SS与cG) 漏洞危害 绕过服务器策略,上传 webshell 漏洞原理 ssi:是放置在HTML页面中的指令,它可以将动态生成的内容添加到现有的HTML页面,而不必通过CGI程序或其他动态技术来提供整个页面。以上是定义采用在 Apache官网对SS的定义 简单来讲,就是ssi可以在HTML中加入特定的指令,也可以引入其他的页面。 开启ssi需要单独配置 Apache,可以参考ssi配置 https://httpd.apache.org/docs/2.4/howto/ssi.html 总结呢,就是:ssi.html也可以执行命令 包含ssi指令的文件 <pre> <!--#exec cmd="whoami" --> </pre> 漏洞复现 进入vulhub靶场,启动环境 写入ssi指令的文件 <pre> <!--#exec cmd="whoami" --> </pre> 访问这个文件 命令执行成功
创建帐户或登录后发表意见