Apache漏洞

admin 2022年1月6日01:26:46评论58 views字数 1204阅读4分0秒阅读模式

apache小组起家的apache更名为httpd,也更符合其http server的特性。而apache现在成为 apache基金会下几十种开源项目的标识。apache和httpd是一个,到apache2后就叫httpd了。

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

漏洞复现
上传一个名为index.php的文件,被拦截,在index.php后面插入一个\x0A(注意,不能是\x0D\x0A,只能是一个\x0A),不再拦截
Apache漏洞
访问刚才上传的/index.php%0a,发现能够成功解析,但这个文件不是php后缀,说明目标存在解析漏洞:

Apache HTTPD 多后缀解析漏洞

Apache HTTPD 多后缀解析漏洞
Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。比如,如下配置文件:

1
2
AddType text/html .html
AddLanguage zh-CN .cn

其给.html后缀增加了media-type,值为text/html;给.cn后缀增加了语言,值为zh-CN。此时,如果用户请求文件index.cn.html,他将返回一个中文的html页面。

以上就是Apache多后缀的特性。如果运维人员给.php后缀增加了处理器:

1
AddHandler application/x-httpd-php .php

那么,在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。

漏洞复现:

http://your-ip/index.php 中是一个白名单检查文件后缀的上传组件,上传完成后并未重命名。我们可以通过上传文件名为xxx.php.jpg或xxx.php.jpeg的文件,利用Apache解析漏洞进行getshell。

Apache SSI 远程命令执行漏洞

在测试任意文件上传漏洞的时候,目标服务端可能不允许上传php后缀的文件。如果目标服务器开启了SSI与CGI支持,我们可以上传一个shtml文件,并利用<!--#exec cmd="id" -->语法执行任意命令。

详细命令可看如下文章:
https://httpd.apache.org/docs/2.4/howto/ssi.html
https://www.w3.org/Jigsaw/Doc/User/SSI.html

正常上传PHP文件是不允许的,我们可以上传一个shell.shtml文件:

1
<!--#exec cmd="ls" -->

FROM :blog.cfyqy.com | Author:cfyqy

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月6日01:26:46
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Apache漏洞https://cn-sec.com/archives/721527.html

发表评论

匿名网友 填写信息