云梦编程网

当前位置:首页 > PHP教程 >

永久删除你在任何 Discuz! X 论坛的帐号漏洞

作者:佚名 时间:2023-11-21 09:24:01 阅读:(21)

今天同事说Discuz可以通过js删除自己在论坛的账号信息,试验了一下确实可以,接下来云梦编程就为大家介绍一下关于永久删除你在任何 Discuz! X 论坛的帐号漏洞修复方法,有需要的小伙伴可以参考一下:

永久删除你在任何 Discuz! X 论坛的帐号漏洞

1、js代码:

locatio{过滤}n.href=((d=(await(await 
fetch("./home.php?mod=spacecp&ac=avatar",{credentials:'include'})).text()).match(/\/\/\S+\/images\/ca\S+&ag/g)[0].replace('images/camera.swf?','?m=user&a=delete&'))&&confirm('真的要[永久]删除你的ID?'))?d:'';

    此代码需要在登录的状态下,按F12打开控制台,点击「Console」,在此执行。

2、执行效果:

永久删除你在任何 Discuz! X 论坛的帐号漏洞

1、执行后,如果显示大于 0 的整数,说明帐号删除成功。
2、删除的是 UCenter 内的帐号,UCenter 会通知 Discuz! 删除用户帐号。
3、通知可能出现延迟,或不成功。因此可能不会立即登出网站。
4、如果通知最终成功,该帐号及其所有帖子都会从 Discuz! 中删除。
5、如果通知不成功,帐号登出后也将无法登录。此时可以注册一个新的同名帐号,覆盖原帐号。原帐号信息将被删除,其帖子将无法阅读(但不会删除)。

3、原理:

    就是修改头像和删除用户的api的input加密字符串是通用的!可以根据前面的参数随意执行任意一个都可以!

4、解决方法:

    (1)、vim /source/plugin/mobile/api/2/uploadavatar.php

$result = self::uc_api_post_ex('user', 'rectavatar', array('uid' => $_G['uid']), $extra);
修改为
$result = self::uc_api_post_ex('user', 'rectavatar', array('uid_avatar' => $_G['uid']), $extra);

    (2)、vim /source/plugin/wechat/wechat.class.php

$result = self::uc_api_post_ex('user', 'rectavatar', array('uid' => $uid), $extra);
修改为
$result = self::uc_api_post_ex('user', 'rectavatar', array('uid_avatar' => $uid), $extra);

    (3)、vim /uc_client/client.php

$uc_input = uc_api_input("uid=$uid");
修改为
$uc_input = uc_api_input("uid_avatar=$uid");

    (4)、vim /uc_server/control/user.php,找到210、310、353行

$uid = $this->input('uid');
修改为
$uid = $this->input('uid_avatar');


以上就是云梦编程为大家介绍的关于永久删除你在任何 Discuz! X 论坛的帐号漏洞修复方法,了解更多相关文章请关注云梦编程网!

最新文章

热门文章