返回列表 发帖
查看: 1333|回复: 1

Discuz! X3.4 附件无法删除问题排查指引

2

主题

1412

回帖

2043

积分

应用开发者

啦啦啦~

贡献
55 点
金币
320 个
发表于 2023-1-27 14:37:14 | 显示全部楼层 |阅读模式
一. 问题背景:

在 Discuz! X3.4 Release 20221220 版本中引入了针对附件删除接口的 CSRF 规避措施,由于手机版部分插件、模板以及部分 PC 插件自行实现了附件删除接口调用,因此可能导致该部分插件、模板使用异常。
本排查指引将告知如何排查相关问题。

二. 模板无法删除附件排查
1. 在 template 目录下找到出现问题的模板文件夹,将文件夹下载到本地计算机,并做好备份。
2. 使用 EditPlus / Notepad++ 等工具对整个文件夹下的所有文件进行搜索,搜索关键词为 deleteattach 。
3. 如果可以找到 deleteattach,则参考以下示例代码对文件进行修改。
4. 修改完成后将文件夹上传回服务器,在后台更新缓存后再试。

例如修改之前的代码:
  1. url:'forum.php?mod=ajax&action=deleteattach&inajax=yes&aids[]=' + obj.attr('aid'),
复制代码

修改后:
  1. url:'forum.php?mod=ajax&action=deleteattach&inajax=yes&formhash={FORMHASH}&aids[]=' + obj.attr('aid'),
复制代码


三. 插件无法删除附件排查
1. 在 source/plugin 目录下找到出现问题的插件文件夹,将文件夹下载到本地计算机,并做好备份。
2. 使用 EditPlus / Notepad++ 等工具对整个文件夹下的所有文件进行搜索,搜索关键词为 deleteattach 。
3. 如果可以找到 deleteattach,则参考以下示例代码对文件进行修改。
4. 修改完成后将文件夹上传回服务器,在后台更新缓存后再试。

例如修改之前的代码:
  1. $url = 'forum.php?mod=ajax&action=deleteattach&inajax=yes&aids[]='.$aid;
复制代码

修改后:
  1. $url = 'forum.php?mod=ajax&action=deleteattach&inajax=yes&formhash='.FORMHASH.'&aids[]='.$aid;
复制代码


附录:关闭接口校验
如果实在是无法排查到上述文件,又由于各种原因无法替换插件或者联系插件作者进行升级,可以采取以下方案强制修改代码关闭校验。
关闭附件删除接口安全校验可能导致部分恶意攻击者在网站安插恶意代码导致附件被删除的风险,由此导致的安全风险由站点自行承担。
回退老版本或选择放弃升级新版本不会解除该接口的安全风险,反而由于其他漏洞未被正确修复给站点造成更大的安全风险。

1. 该文件位于 source/module/forum/forum_ajax.php ,请将文件下载到本地计算机,并做好备份。
2. 使用 EditPlus / Notepad++ 等工具对文件进行搜索,搜索关键词为 deleteattach 。
3. 找到下方所指示的代码并按指引进行修改。
4. 修改完成后将文件上传回服务器,在后台更新缓存后再试。

修改前:
  1. if(isset($_GET['aids']) && isset($_GET['formhash']) && formhash() == $_GET['formhash']) {
复制代码

修改后:
  1. if(isset($_GET['aids'])) {
复制代码

老周博客
本人不在任何渠道提供任何付费技术支持服务, 谨防上当受骗.
回复

使用道具 举报

40

主题

756

回帖

924

积分

自成一派

贡献
11 点
金币
33 个
发表于 2023-2-1 23:56:23 | 显示全部楼层
X3.5能用吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-4-29 17:47 , Processed in 0.079074 second(s), 7 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表