phpdisk V7 (20140604) 绕过补丁继续上传任意文件。

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

### 简要描述: 验证encrypt_key. 这个会上首页吗。。 好紧张。。 ### 详细说明: 首先说一下 官方的demo站竟然还没打补丁。 我进去的时候已经看见里面有几个马儿了。。 打下补丁 清下马儿把。 来看看0604出的补丁修改了哪里。 在plugins/phpdisk_client/client_sub.php ``` switch ($action){ case 'upload_file': //write_file(PHPDISK_ROOT.'system/2.txt',var_export($_POST,true)); //write_file(PHPDISK_ROOT.'system/3.txt',var_export($_FILES,true)); $sign_md5 = md5($uid.$settings[encrypt_key]); if(!$sign and $sign_md5<>$sign){ echo 'Sign Error!'; exit; } ``` 在这里上传的时候验证了 ``` $sign_md5 = md5($uid.$settings[encrypt_key]); if(!$sign and $sign_md5<>$sign){ echo 'Sign Error!'; exit; ``` 如果不相等则退出. $uid倒还容易搞 来看看$settings[encrypt_key] ``` 'encrypt_key' => 'Bw5xe2XIlwwj', ``` 我擦 这么复杂? 再来看看是如何生成这个的。 ``` function make_key(){ var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; var tmp = ""; var code = ""; for(var i=0;i<12;i++){ code += chars.charAt(Math.ceil(Math.random()*100000000)%chars.length); } document.getElementById('encrypt_key').value = code; } ``` 这么多字符中随机取12个。 我擦...

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