y***@163.com
y***@163.com
  • 发布:2024-01-16 08:45
  • 更新:2024-08-06 21:59
  • 阅读:573

【报Bug】InnerHTML的XSS攻击漏洞

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows10

HBuilderX类型: 正式

HBuilderX版本号: 3.8.12

手机系统: Android

手机系统版本号: Android 13

手机厂商: 小米

手机机型: 所有Android

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

操作步骤:

使用梆梆, 爱加固, 360等APP扫描机构进行安全扫描
下面为报告中的检测步骤:
1、反编译APK文件。
2、搜索.js/.html/.bundle文件,查找到包含字符串".innerHTML"的文件。进一步解析出innerHTML是否为有效的html内容,是,则存在风险,否,则安全。

预期结果:

uni相关部分无风险项

实际结果:

检测结果 存在风险(发现9处)
结果描述 该App存在InnerHTML的XSS攻击漏洞。

  1. [文件]:
    /assets/apps/UNIED9AD0C/www/__uniappquill.js
    [代码]:
    ns.debug);var o=this.container.innerHTML.trim();this.container.classList.add("ql

  2. [文件]:
    /assets/apps/UNIED9AD0C/www/uniappquill.js
    [代码]:
    "ql-container"),this.container.innerHTML="",this.container.
    quill=this,this.roo

  3. [文件]:
    /assets/apps/UNIED9AD0C/www/__uniappquill.js
    [代码]:
    sList.add("ql-picker-label"),t.innerHTML=f.default,t.tabIndex="0",t.setAttribute

  4. [文件]:
    /assets/apps/UNIED9AD0C/www/__uniappquill.js
    [代码]:
    ).call(this,t));return i.label.innerHTML=n,i.container.classList.add("ql-color-p

  5. [文件]:
    /assets/apps/UNIED9AD0C/www/__uniappquill.js
    [代码]:
    ql-picker-item"),function(t){t.innerHTML=n[t.getAttribute("data-value")||""]}),i

  6. [文件]:
    /assets/apps/UNIED9AD0C/www/__uniappquill.js
    [代码]:
    t||this.defaultItem,this.label.innerHTML=t

  7. [文件]:
    /assets/apps/UNIED9AD0C/www/__uniappquill.js
    [代码]:
    =t.innerHTML}}]),e}(u.default);e.default=c},function

  8. [文件]:
    /assets/apps/UNIED9AD0C/www/__uniappquill.js
    [代码]:
    tainer("ql-tooltip"),this.root.innerHTML=this.constructor.TEMPLATE,this.quill.ro

  9. [文件]:
    /assets/apps/UNIED9AD0C/www/__uniappquillimageresize.js
    [代码]:
    t=i.getCurrentSize();i.display.innerHTML=t.join(" × "),Object.assign(i.dis

bug描述:

DOM型XSS漏洞是基于文档对象模型(Document Object Model)的一种漏洞。它的攻击代码不需要服务器解析响应,而是通过浏览器端的DOM解析触发XSS。客户端上的JavaScript脚本可以访问浏览器的DOM并修改页面的内容,不依赖服务器的数据,直接从浏览器端获取数据并执行。
在JavaScript中给DOM的innerHTML属性赋值一个<script>标签,是一个非常普遍的xss注入点。如果攻击者利用该漏洞进行攻击,可能会导致账号或Cookie信息被窃取,从而冒充管理者登录后台进行数据篡改等恶意操作。

2024-01-16 08:45 负责人:无 分享
已邀请:
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

搜索 editor 标签,有引用吗?

这都是 editor 三方依赖提示的,编辑器依赖 innerHTML 实现样式渲染。如果你不需要编辑器的样式渲染,可以考虑换个编辑器,不使用 editor 标签

  • y***@163.com (作者)

    没有使用到editor标签, 这些都是是打包后的wgt文件解压到Android目录被扫描出来

    2024-01-16 11:41

  • DCloud_UNI_OttoJi

    回复 y***@163.com: 有初步的方案了,我现私聊你,需要你来实际验证下

    2024-01-16 12:07

1***@qq.com

1***@qq.com

遇到相同的问题,要怎么解决这个问题?

  • y***@163.com (作者)

    打完包的资源把点语法替换成[], 绕过扫描;比如.innerHTML改成['inner' + 'HTML']

    2024-08-16 10:31

要回复问题请先登录注册