Apache解析漏洞复现

本文阅读 2 分钟

1.1、漏洞原理

形如:index.php.asc.cdb格式的,就是多后缀。Apache对文件名后缀的识别是从后往前进行的,当遇到不认识的后缀时,继续往前,直到识别。index.php.asc.cdb,在特定配置下,Apache会将其解析为PHP文件,利用此特性,我们可以绕过上传文件后缀检测,达到上传webshell的目的。

配置如下:
AddHandler application/x-httpd-php .php
或者
<FilesMatch ".+\.ph(ar|p|tml)">
    SetHandler application/x-httpd-php
</FilesMatch>
影响版本
使用module模式与php结合的所有版本,apache存在未知扩展名解析漏洞;使用fastcig模式与php结合的所有版本,apache不存在此漏洞。
Apache可识别后缀:
Windows:/apche/conf/mine.types中
Ubuntu:/etc/mime.types

1.2、漏洞复现

//apache.php.jpeg内容如下:
<?
phpinfo();
?>

访问apache.php.jpeg时,以php格式运行。

img

2.1、漏洞原理

它可以通过mod_php来运行PHP网页,在解析PHP时,1.phpx0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。这个漏洞的产生和Apache无关,主要是由于用户配置不当产生的。

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

DirectoryIndex disabled
DirectoryIndex index.php index.html

<Directory /var/www>
    Options -Indexes 
    AllowOverride ALL
</Directory>
前三行代码:将所有.php结尾的文件当做php文件进行解析。
$:正则表达式匹配字符串结束位置,若存在换行,则匹配换行符为结尾。
利用$和换行符可以绕过黑名单机制。

2.2、漏洞复现

1、点击上传evil.php文件,上传失败。 img 2、上传evil.php/x0A,上传成功。 img 3、访问http://ip:8080/evil.php%0A,解析成功。

/x开头的编码为十六进制编码,转为%即可在url中执行。

img

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/sycamorelg/article/details/120826599
-- 展开阅读全文 --
Web安全—逻辑越权漏洞(BAC)
« 上一篇 03-13
Redis底层数据结构--简单动态字符串
下一篇 » 04-10

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复