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>

 

 

 访问这个文件

 

 命令执行成功

posted @ 2021-09-21 10:54  学安全的小白  阅读(571)  评论(0编辑  收藏  举报