本文共 635 字,大约阅读时间需要 2 分钟。
代码内容:
可以发现这里的$ 实 际 上 就 是 一 个 变 量 覆 盖 的 问 题 , 而 实际上就是一个变量覆盖的问题,而 实际上就是一个变量覆盖的问题,而x变量我们可控,var_dump可以打印出我们想打印的一些内容,例如payload:
http://localhost/test/demo1.php?x=x=test 但是我们想执行一些系统命令,因为有vardump(),所以我们要绕过这个函数去执行其他函数比如:exec()、passthru()、system()、 shell_exec()这些函数能够执行系统命令payload: x=x=1);system(“ipconfig”
http://localhost/test/demo1.php?x=x=1);system("ipconfig"
就可以绕过var_dump,执行system系统命令:
这个payload在代码中的呈现形式:eval("var_dump(1);system("ifconfig");");
; 执行将两条命令分割,均可执行,所以绕过了
可以直接在var_dump()函数当中执行执行系统命令 payload: x=x=system(“ipconfig”)
在代码中的呈现形式:eval("var_dump(system("ifconfig"));");
eval执行里面的代码,var_dump()打印出system()执行的结果
参考文章:转载地址:http://nyhzi.baihongyu.com/