Espcms V5.6.13.04.22 UTF8...

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

### 简要描述: 另类利用Espcms的加解密函数,绕过后台所有模块的权限验证 额。。。解释起来比较长,算是一种思路 ### 详细说明: 后台权限验证的类文件:\public\class_connector.php ``` function admin_purview() { if ($this->fun->accept('archive', 'R') == 'filemanage' && $this->fun->accept('action', 'R') == 'batupfilesave') { $ecisp_admininfo = $this->fun->accept('ecisp_admininfo', 'G'); $esp_powerlist = $this->fun->accept('esp_powerlist', 'G'); $gettype = false; } else { $ecisp_admininfo = $this->fun->accept('ecisp_admininfo', 'C'); $esp_powerlist = $this->fun->accept('esp_powerlist', 'C'); $gettype = true; } $arr_purview = explode('|', $this->fun->eccode($ecisp_admininfo, 'DECODE', db_pscode)); ``` 关键代码解释: 我们如果知道db_pscode的值的话就可以任意构造$ecisp_admininfo了,但是不可能 db_pscode在网站初始化的时候就已经设定,并且是随机生成的32字符串 define('db_pscode', '5ae8d385e6ae4a4f633cacd28'); 换个思路: 程序中其他的文件会用到加密函数,如果这个需要加密的变量可控,而且加密后的密文我们可以拿到。这样就相当于让程序帮我们构造找我们需要的加密数据了。 最终找到一个文件符合以上的需求\interface\order.php: ``` function in_orderupdae() { $bprice = $this->fun->accept('bprice', 'P'); $didlist =...

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