apache http可以访问https没权限_apache_cgi绕过disable_functions

5db24ebbf2ab6b5cf92cc7853d41d417.png

前言

apache有一个cgi模块,该模块可以设置指定文件类型以cgi方式让服务器运行,例如一个不存在的afaafa后缀文件,通过设置,就可以当作cgi运行,因为是直接服务器运行的,所以可以绕过php的disable_functions限制。

环境搭建

说是环境需要是linux、apache+php、apache开启cgi和rewrite、web目录有allowoverride权限、当前目录可写,看着感觉很难搭建,所以这里就直接使用蚁剑的docker环境进行测试。

地址:

https://github.com/AntSwordProject/AntSword-Labs/tree/master/bypass_disable_functions/3

相关命令如下:

git clone https://github.com/AntSwordProject/AntSword-Labs.gitcd到3文件夹下docker-compose up -d

手动测试(失败)

这里以afaafa后缀为例,这里最好使用一个未知的后缀,如果使用已知的,apache解析可能会碰到问题,导致无法当作cgi执行。

afa.afaafa文件中写入相关shell,示例如下。

#!/bin/shecho&id

然后再建一个.htaccess文件,内容如下,意思是把afaafa文件当作cgi执行。

OPtions +ExecCGIAddHandler cgi-script .afaafa

创建好后,将这两个文件传到服务器。

e4ecf936d68dba677dfd074e3958e471.png

这时访问afa.afaafa文件会提示服务器内部错误。

db7c146f59d241691107ce9e7015cb9c.png

原因是该文件没有执行权限,可以看到权限是0644,需要改成0777,修改方法有两种,一种是直接通过类似蚁剑的软件直接右键修改权限,另一种可以通过php的chmod修改,如下图。

ccedd62f9ad03bc274f309260d5c8512.png

9449a1e7c7bd0c9cc8e5348e91a25bff.png

然后再访问还是报内部错误。后来用蚁剑插件测试,插件运行后会自动弹一个命令窗口出来,如果不在这个窗口执行下命令,则访问也是内部错误。

蚁剑测试

蚁剑测试选择apache_mod_cgi模式,运行后会弹出一个命令行,如下图。

acd02482abc7d85d0d132ce1aaf74ea8.png

这时如果不运行命令,直接访问shell.ant,刷新了很多遍,一直是错误页。

6d34297d3b886a9300bb06d132609db0.png

如果去命令行随便输入一个命令,再次访问shell.ant文件才会正常。

a02147328f8c74a8e089f769698f26c2.png

总结

无。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值