欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

phpwind 利用哈希长度扩展攻击进行getshell

来源:本站整理 作者:phithon 时间:2016-05-24 TAG: 我要投稿

 一哥新发的漏洞,还是蛮屌的: http://www.wooyun.org/bugs/wooyun-2016-0210850 。分析补丁( http://www.phpwind.net/read/3709549 )加上一些风闻,我得知利用的是哈希长度扩展攻击。之前CTF中经常出境的MD5 Length Extension Attack,终于在实战中露了一次面。

今晚基本没睡觉,一直在调试这个漏洞,虽说不知道一哥后续getshell用的是什么方法,但我这个文章基本把该漏洞的原理讲清楚了。至于getshell的话,等漏洞公开了再看看吧。

0x01 漏洞点分析

phpwind逻辑太冗杂了,一看就是java程序员开发的。

补丁文件修补了src/windid/service/base/WindidUtility.php的appKey函数。之前的appKey函数如下:

public static function appKey($apiId, $time, $secretkey, $get, $post) {
    // 注意这里需要加上__data,因为下面的buildRequest()里加了。
    $array = array('windidkey', 'clientid', 'time', '_json', 'jcallback', 'csrf_token',
                   'Filename', 'Upload', 'token', '__data');
    $str = '';
    ksort($get);
    ksort($post);
    foreach ($get AS $k=>$v) {
        if (in_array($k, $array)) continue;
        $str .=$k.$v;
    }
    foreach ($post AS $k=>$v) {
        if (in_array($k, $array)) continue;
        $str .=$k.$v;
    }
    return md5(md5($apiId.'||'.$secretkey).$time.$str);
}

[1] [2] [3] [4] [5] [6] [7]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载