cms icon indicating copy to clipboard operation
cms copied to clipboard

V7.2.1 反馈3个后台管理BUG,涉及:存储型XSS,任意文件上传,物理路径泄露

Open sr6783 opened this issue 1 year ago • 11 comments

存储型 XSS

全局修复,以下为两处举例: 172.0.0.1/api/admin/cms/editor/actions/update 第一处: 使用管理员账号登录后台,信息管理->内容管理,点击编辑: image

编辑标题,以html形式编辑内容,保存为测试使用的XSS语句,点击发布。 image

访问刚刚编辑的内容,触发XSS image image image

第二处: 127.0.0.1/api/admin/cms/channels/channels/actions/append 栏目管理,编辑栏目,在栏目名称写上测试语句 image

点击生成后,访问栏目链接,触发XSS image image

任意文件上传

资源文件管理,上传样式文件 */api/admin/cms/templates/templatesAssets/actions/upload?siteId=1&fileType=aspx&directories= image

修改后缀参数即可任意文件上传 image

物理路径泄露

image 点击上传,抓取数据包,发现泄露了物理路径信息。 image

sr6783 avatar Aug 25 '23 05:08 sr6783

收到,多谢反馈,我们会尽快修复

starlying avatar Aug 28 '23 00:08 starlying

@starlying 请问下,修复进展如何了

sr6783 avatar Aug 30 '23 01:08 sr6783

修复中,我们尽快

starlying avatar Aug 31 '23 02:08 starlying

这周可以修复吗?

------------------ 原始邮件 ------------------ 发件人: "siteserver/cms" @.>; 发送时间: 2023年8月28日(星期一) 上午8:25 @.>; @.@.>; 主题: Re: [siteserver/cms] V7.2.1 反馈3个后台管理BUG,涉及:存储型XSS,任意文件上传,物理路径泄露 (Issue #3675)

收到,多谢反馈,我们会尽快修复

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

sr6783 avatar Sep 05 '23 05:09 sr6783

任意文件上传和物理路径泄露已经修复了,存储型 XSS应该不会修改,后台是无法防止XSS的,管理员可以直接修改模板或js文件。

starlying avatar Sep 06 '23 00:09 starlying

修复内容管理/栏目管理中标题、副标题..这些字段的存储型XSS应该可行吧?或者像安全模式“过滤内容编辑器中的 JS/CSS 代码”一样,过滤内容管理、栏目管理中包括标题、副标题等字段的JS/CSS代码

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年9月6日(星期三) 上午8:34 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [siteserver/cms] V7.2.1 反馈3个后台管理BUG,涉及:存储型XSS,任意文件上传,物理路径泄露 (Issue #3675)

任意文件上传和物理路径泄露已经修复了,存储型 XSS应该不会修改,后台是无法防止XSS的,管理员可以直接修改模板或js文件。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

sr6783 avatar Sep 08 '23 02:09 sr6783

好的,我们再研究一下

starlying avatar Sep 11 '23 01:09 starlying

请问下研究进展如何, 是维持现状, 还是直接过滤内容管理、栏目管理中包括标题、副标题等字段的JS/CSS代码, 还是在安全模式下过滤内容管理、栏目管理中包括标题、副标题等字段的JS/CSS代码?

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年9月11日(星期一) 上午9:40 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [siteserver/cms] V7.2.1 反馈3个后台管理BUG,涉及:存储型XSS,任意文件上传,物理路径泄露 (Issue #3675)

好的,我们再研究一下

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

sr6783 avatar Sep 13 '23 01:09 sr6783

暂时维持现状,我们会继续研究,找找更合适的方案

starlying avatar Sep 19 '23 01:09 starlying

暂时解决办法: src\SSCMS.Core\Services\PathManager.Content.cs的public async Task<Content> EncodeContentAsync(Site site, Channel channel, Content content)方法中添加: else if (style.InputType == InputType.Text || style.InputType == InputType.TextArea) { var value = content.Get(style.AttributeName); value = StringUtils.FilterSqlAndXss(value); content.Set(style.AttributeName, value); }

fsea avatar Oct 09 '23 01:10 fsea

else if (style.InputType == InputType.TextEditor) 里content.Set前一行加上 value = StringUtils.FilterSqlAndXss(value);

fsea avatar Oct 09 '23 01:10 fsea