马上注册,免费下载更多dz插件网资源。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一. 问题背景:
在 Discuz! X3.4 Release 20221220 版本中引入了针对附件删除接口的 CSRF 规避措施,由于手机版部分插件、模板以及部分 PC 插件自行实现了附件删除接口调用,因此可能导致该部分插件、模板使用异常。
本排查指引将告知如何排查相关问题。
二. 模板无法删除附件排查
1. 在 template 目录下找到出现问题的模板文件夹,将文件夹下载到本地计算机,并做好备份。
2. 使用 EditPlus / Notepad++ 等工具对整个文件夹下的所有文件进行搜索,搜索关键词为 deleteattach 。
3. 如果可以找到 deleteattach,则参考以下示例代码对文件进行修改。
4. 修改完成后将文件夹上传回服务器,在后台更新缓存后再试。
例如修改之前的代码:- url:'forum.php?mod=ajax&action=deleteattach&inajax=yes&aids[]=' + obj.attr('aid'),
复制代码 修改后:- 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. 修改完成后将文件夹上传回服务器,在后台更新缓存后再试。
例如修改之前的代码:- $url = 'forum.php?mod=ajax&action=deleteattach&inajax=yes&aids[]='.$aid;
复制代码 修改后:- $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. 修改完成后将文件上传回服务器,在后台更新缓存后再试。
修改前:- if(isset($_GET['aids']) && isset($_GET['formhash']) && formhash() == $_GET['formhash']) {
复制代码 修改后:- if(isset($_GET['aids'])) {
复制代码
©DZ插件网所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站内容为站长个人技术研究记录或网络,不提供用户交互功能,所有内容版权归原作者所有。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,得到更好的正版服务。 您在本站任何的赞助购买、下载、查阅、回复等行为等均表示接受并同意签订《DZ插件网免责声明协议》。 如有侵权请邮件与我们联系处理: discuzaddons@vip.qq.com 并出示相关证明以便删除。敬请谅解!
|
|