phpwind9.x 通讯秘钥安全漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

来源链接:[phpwind 利用哈希长度扩展攻击进行getshell](https://www.leavesongs.com/PENETRATION/phpwind-hash-length-extension-attack.html) 一哥新发的漏洞,还是蛮屌的: http://www.wooyun.org/bugs/wooyun-2016-0210850。分析补丁( http://www.phpwind.net/read/3709549 )加上一些风闻,我得知利用的是哈希长度扩展攻击。之前CTF中经常出境的MD5 Length Extension Attack,终于在实战中露了一次面。 ### 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); } ``` 可见,这里其实是一个『签名』函数,将GET、POST变量使用secrectkey进行签名,但签名的算法比较古老,直接用md5。...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息