本期小编将为大家带来jQuery中xss漏洞的分析、复现和修复。文章内容丰富,将从专业的角度为您分析叙述。看完这篇文章,希望大家都能有所收获。
1、xss漏洞的形成及危害
形成:xss 漏洞访问该站点存在风险怎么弄,也称为跨站点脚本,形成只是因为应用程序在将其放入充当网页的输出之前没有正确协调用户可控的输入。这可以被跨站点脚本攻击利用。
危害:一旦注入恶意脚本,攻击者就可以进行各种恶意活动。攻击者可能会从受害者的机器向攻击者传输私有信息(例如可能包含会话信息的 cookie)。攻击者可以代表受害者向网站发送恶意请求,如果受害者拥有管理站点的管理员权限,这对站点来说尤其危险。网络钓鱼攻击可用于冒充受信任的站点并诱骗受害者输入密码,从而允许攻击者破坏受害者在该网站上的帐户。
XSS 主要分为三种类型:
类型 1:反射型 XSS(也称为“非持久性”)
服务器直接从 HTTP 请求中读取数据并将其反射回 HTTP 响应中。当反射型 XSS 攻击发生时,攻击者会导致受害者向易受攻击的 Web 应用程序提供危险内容,然后将其反射回受害者并由 Web 浏览器执行。
类型 2:存储型 XSS(也称为“持久性”)
应用程序将危险数据存储在数据库、消息论坛、访问者日志或其他受信任的数据存储中。稍后,危险数据会被读回应用程序并包含在动态内容中。如果其中一个用户执行恶意内容,攻击者可能能够代表该用户执行特权操作或访问属于该用户的敏感数据。
类型 3:基于 DOM 的 XSS
在基于DOM的XSS中,客户端执行将XSS注入页面的动作;在其他类型中,注入由服务器执行。基于 DOM 的 XSS 通常涉及发送到客户端的服务器控制的受信任脚本,例如在用户提交表单之前对表单执行完整性检查的 Javascript。
2、jQuery最新xss漏洞分析、复现2.1环境搭建
针对这个漏洞,原作者搭建了一个在线环境,搭建了三个xss poc。点击 Append via .html() 按钮触发 xss
环境链接
2.2 源码分析
先用第一个红框模拟一个开发环境。尽管所有三个 poc 都使用包含 onerror 事件的 img 标签,但它们实际上被放置在属性或样式元素中,因此它们将绕过 HTML sanitizer。
检查元素发现点击后会出现一个额外的结束标签访问该站点存在风险怎么弄,并成功执行如下弹窗脚本。
2.3 漏洞分析
该漏洞的关键在于在html()方法中,作为参数传递的HTML字符串会被传递给$.htmlPrefilter()方法,该方法用于替换自闭合标签,例如,3.@ > x版本之前使用的正则会识别x"为标签,并添加封闭标签,达到xss的效果。
2.4 错误修复
1、更新 jQuery 到 3.@>5.0 或更高版本
2、使用 XSS 清理器清理用户输入的 HTML
清理工具地址
原始链接
以上就是小编为大家分享的jQuery中xss漏洞的分析、复现和修复。如果你恰好有类似的疑惑,不妨参考上面的分析来理解。如果您想了解更多相关知识,请关注易宿云行业资讯频道。