apache 解析漏洞

知识大全 4年前 (2021) Jie
288 0 0

apache 解析漏洞如下

1、多后缀名

在Apache认为,一个文件可以有多个后缀,如:werner.txt.png.mp3。

这一文件,放在Windows里,毫无疑问,就是个mp3文件。Windows只认最后一个“.”及其后面的字符“mp3”,觉得该文件后缀为“.mp3”,这也是大多数操作系统、应用软件的处理方式、是正常人习惯。

而在Apache中,则可能有所不同,如果有必要,Apache会从后(右)往前(左),一一辨别后缀,但是当Apache不认识某个后缀时,就出现问题了。

如某文件名为:werner.mp3.qwe.arex,Apache在处理时,先读取最后一个后缀,为“.arex”,然后从后 往前解析,如该文件名,就会理解成 该文件为 mp3漏洞

apache版本在以下范围内

Apache 2.0.x <= 2.0.59 Apache 2.2.x <= 2.2.17 Apache 2.2.2 <= 2.2.8 都可以通过解析漏洞配合上传使用。

2、罕见的后缀

为什么说是罕见呢,如我们 查看计算机中的 mime.types 文件

 

werner@Yasser:~$ cat /etc/mime.types | grep php  #application/x-httpd-php          phtml pht php  #application/x-httpd-php-source           phps  #application/x-httpd-php3         php3  #application/x-httpd-php3-preprocessed        php3p  #application/x-httpd-php4         php4  #application/x-httpd-php5         php5

也就是说,如果当配置文件 做解析正则匹配 文件的时候,配置不当,就会出现解析 多文件,如php3,php4,php5 phtml,后缀的文件 等等

如下匹配规则,就会解析

正则表达式”.+\.ph(p[345]?|t|tml)$”

3,配置不当

1,利用修改.htaccess

2,利用修改Apache的配置文件

注意:下文修改代码也可以用于 apache的配置文件

        为什么说是利用.htaccess呢?我们在之前的实战中,经常会用来修改该文件“感染”配置文件,达到扰乱蓝队判断

        因为在apache中,一般来说,配置文件的作用范围都是全局的,但Apache提供了一种很方便的、可作用于当前目录其子目录的配置文件——.htaccess(分布式配置文件)


要想使.htaccess文件生效,需要两个条件,一是在Apache的配置文件中写上:

 AllowOverride All

若这样写则.htaccess不会生效:

AllowOverride None

二是Apache要加载mod_Rewrite模块。加载该模块,需要在Apache的配置文件中写上:

  LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

是不是有点麻烦?但是在部分实战当中,特别是资源加载过多的情况下,遇到开启的情况还是挺多的。一些第三方的应用默认也是开启的状态

因为.htaccess文件可以配置很多事情,如是否开启站点的图片缓存、自定义错误页面、自定义默认文档、设置WWW域名重定向、设置网页重定向、设置图片防盗链和访问权限控制。

所以,我们只需要在文件里面修改MIME类型解析即可

如在.htaccess文件中写入:

  AddType application/x-httpd-php .xxx

就成功地使该.htaccess文件所在目录及其子目录中的后缀为.xxx的文件被Apache当做php文件

另一种写法是:

<FilesMatch "shell.jpg">SetHandler application/x-httpd-php</FilesMatch>

该语句会让Apache把shell.jpg文件解析为php文件。

4,换行解析

该是 CVE-2017-15715 漏洞

原理如下:

Apache可以通过mod_php来运行PHP网页。

其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,解析到下面例子时候:

1.php\x0A

将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。(%0a即编码中的换行符,于是这个解析漏洞叫换行解析)

复现如下:

如图可以看出,是不可以上传php后缀的文件的

apache 解析漏洞

我们在 在Hex编码下,该处插入(insert byte)0a作为换行符

apache 解析漏洞

可以成功

apache 解析漏洞
版权声明:Jie 发表于 2021年9月25日 am11:35。
转载请注明:apache 解析漏洞 | 黑客街

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...