1、eval,将字符串当成PHP代码执行
新建php文件,代码如下
eval($_GET['a']); //相当于执行eval(phpinfo())
访问:http://192.168.139.129/?a=phpinfo();
2、assert,判断一个表达式是否成立
新一个PHP文件,代码如下
echo(assert($_GET['a']>3));
传递的参数大于3返回1,小于3,返回错误
3、system,执行系统命令,输出并返回最后一行结果
新建php文件,代码如下
$a= $_GET['a']($_GET['b']);
浏览器访问http://http://192.168.139.129/?a=system&b=dir,
4、exec,执行系统命令,只获取最后一行结果
新建php文件,代码如下
$a= $_GET['a']($_GET['b']); echo $a;
浏览器访问http://http://192.168.139.129/?a=exec&b=dir,
5、 passthru,执行系统命令,把命令的运行结果原样地直接输出到标准输出设备上
6、反引号,直接执行命令
新建php文件,代码如下
echo `ipconfig`;
访问该php文件
7、代码注入:
新建php文件,代码如下
$a= $_GET['a']; eval("echo $a;");
访问http://192.168.139.129/?a=213;phpinfo(),结果如下
禁止非法,后果自负