2024年4月18日发(作者:)

实战UC_Key获取Discuz!x2.5论坛Webshell

simeon

路人甲在乌云漏洞平台公布了Discuz的利用UC_KEY进行getshel的文章

(/bugs/wooyun-2014-048137),随机网上公开了两套通过uc_key获

取Webshell的代码,虽然最终也成功获取了Webshell,在获取Webshell过程中有一些经验

值得分享。uc_key是Discuz! UC客户端与服务端通信的通信密钥,因此使用uc_key只能

获取UCenter Client的webshell,即Discuiz!论坛的webshell。如果一个服务器上只有UCenter

Server是不能通过uc_key来获取该服务器上的webshell的,不过可以通过uc_key来将服务

器上的数据并重置用户口令,下面将如何测试网上公布的0day和实战过程进行分享。

1.测试网上公布的0day代码

通过在搜索引擎中检索“uc_key”关键词,可以方便的获取一些通过uc_key获取webshell

的文章,通过查看文章顺利获取0day代码。

1.1测试误区

下载到uc_和uc_代码后,首先通过程序uc_进行编译执行,结果出

现错误提示:“IndexError: list index out of range”。通过搜索错误提示,也没有找到解决错误

的方法。后面直接执行“python uc_ 127.0.0.1”命令则可以顺利执行。

图1测试uc_出错

1.2 uc_测试

1.获取uc_key值

获取uc_key可以通过“configconfig_”文件获取,也可以通过登录后台获取,

如图2所示。单击“站长”-“Ucenter设置”,复制“Ucenter通信密钥”中的值即可。

图2获取uc_key值

2.获取webshell

对最新版本X3.1测试过程中,发现如果系统开启了防水墙会禁止危险脚本访问,如图3

所示,对利用代码进行屏蔽和阻止,导致Webshell获取失败。如果数据库没有开启也会出

现上面的错误提示。如果在最后的结果中出现提示“1”,如图4所示,则表示获取webshell

成功。

图3获取Webshell失败

图4获取webshell成功

对于X25系列,则可以轻松获取Webshell,执行命令“php uc_”命令后,会直接