作用:运维人员通过disable_functions函数来禁用一些在PHP中的一些“危险”函数,将其卸载php.in配置文件中。
例如:
passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,
papen,ini_alter,ini_restore,dl,openlog,readlink,symlink,popepassthru,link等。
其实disable_function函数也就是一种黑名单限制机制,通过运维人员给php.in配置文件添加来限制名单。
绕过方式:
- 一些常规绕过: exec,shell_exec,system,passthru,popen,proc_open.
- 利用环境变量LD_PRELOAD绕过:mail,imap_mail,error_log,mb_send_mail
- 利用epentl_exec绕过利用imap_open函数任意命令执行(CVE_2018-19518)。
- 利用系统组件window com绕过利用Apache + mod_cgi + .htaccess
- 绕过利用lmageMagick漏洞绕过利用PHP7.4的FFL绕过利用shell shock绕过(CVE-2014 -6271)
- 利用蚁剑的插件绕过。
推荐还是使用蚁剑插件进行绕过,比较方便实用。当然每个人用的感觉不一样。