Apache渗透
Apache渗透
Apache的简介
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>
访问这个文件
命令执行成功