`
huobengle
  • 浏览: 908945 次
文章分类
社区版块
存档分类
最新评论

公布一年前发现阿里旺旺的一个xss漏洞的细节。

 
阅读更多

概述

能显示表情图片成了现在的聊天软件必备基本功能,这就需要支持展示富文本的控件。

聊天软件主要用到两种富文本格式:RTF和HTML格式。

RTF可以采用RichEdit、HTML可以选择浏览器内核,比如Windows自带的IE内核。

淘宝旺旺用的就是IE内核作为聊天内容展示区,QQ使用的则是RichEdit。

用浏览器内核作为展示的聊天软件,可能就存在被注入JS的风险。

一年前的帖子:http://topic.csdn.net/u/20100908/23/41ac25c9-3b4c-4b55-b1b7-0903ba23ca7e.html

漏洞早已经修复,现在发出细节,好让大家注意防范。

软件一但在别人的机器了运行,状态就不在你的控制范围。


起因

当时一个朋友在询问我:如何用旺旺自动发送带彩色的文字。

经我分析:输入框是用的是richedit,正好之前做过跨进程访问richedit的探索:http://blog.csdn.net/zswang/article/details/2645555

研究了会发现:展示区是IE内核,字体名可以自由控制,并且也没对字体名进行编码。

确定存在“浏览器内核聊天软件通过字体名注入脚本的漏洞”


经过

操作系统会提供当前已经安装的字体列表,比如:宋体、黑体、Verdana等等。

这些字体名一般不会出现特殊符号,但通过修改内存、跨进程控制控件的方式可以修改字体名,比如可以添加一个字体名为:“><b>test</b”。

如果展示的代码是:

那么添加到展示区的就是:
“<font name=><b>test</b>context</font>”

如果看到粗体的test,恭喜第一步成功。

但字体名有长度是有限的,旺旺里限制24个字符。

24个字符要写比较复杂的攻击脚本还是挺难。

还好旺旺里一段聊天内容可以支持多个字体,这样就可以拼接在一起,注入理想长度的攻击脚本。

比如:

fontname1设置为:“><script>/*”

context1设置为:“*/alert('hello');/*”

fontname2设置为“*/</script”

那么添加到展示区的就是:
“<font name=><script>/**/alert('hello');/*</font><font name=*/</script>context2</font>”

结果

找几个小白鼠试了一下,证实攻击有效,向官方报告了漏洞并得到及时的修复。

参见第一个链接。



总结

1、“不要信赖客户端的提交的数据”包括通过系统api获取的数据;

2、展示时,动态拼接的内容都经过编码处理;

3、发现漏洞及时报告,因为你能发现了,别人也能发现,早点修复漏洞避免无辜的人受到损失。

分享到:
评论

相关推荐

    搜索框——不能忽视的XSS漏洞—搜索框所引起的XSS漏洞

    例如,2005年MySpace的XSS蠕虫事件就是一个典型的例子,它在短时间内感染了大量用户页面,展示了XSS攻击的破坏力。即使不涉及服务器权限,XSS也能用来盗取用户cookie、实施钓鱼攻击或者传播恶意代码。 **搜索框的...

    DedeCMS 存储型xss漏洞1

    要利用此漏洞,攻击者需要能够访问并操作DedeCMS后台的“系统”-&gt;“支付工具”-&gt;“配送方式设置”,在那里他们可以添加一个新的配送方式,将XSS payload 输入到“简要说明”字段中。一旦数据保存到数据库,payload ...

    前端顽疾--XSS漏洞分析与解决.ppt

    XSS 漏洞是一种常见的前端安全问题,指的是攻击者在 Web 应用程序中注入恶意脚本,以欺骗用户或窃取用户信息。XSS 漏洞的危害非常高,黑客可以通过 XSS 漏洞盗取用户的敏感信息,或者执行恶意操作。 1. 非持久性 ...

    SQL+XSS漏洞修复方案

    比如,一个简单的登录表单,如果未对用户输入进行充分的验证和转义,攻击者可以通过输入特定的SQL片段,如" OR 1=1 -- ",绕过身份验证。修复SQL注入的方法主要包括: 1. 使用预编译语句(参数化查询):这可以确保...

    XSS漏洞扫描 XSS漏洞扫描

    XSS(Cross-Site Scripting)漏洞扫描是网络安全领域中的一个重要话题,主要针对Web应用程序的安全检测。这种漏洞允许攻击者在用户的浏览器上注入恶意脚本,从而窃取用户数据、执行钓鱼攻击或进行其他有害操作。XSS...

    百度编辑器解决xss漏洞

    百度编辑器解决xss漏洞

    关于Web应用安全中XSS漏洞测试方法的研究.docx

    2. XSS 漏洞定义:XSS 漏洞是一种常见的 Web 应用安全漏洞,它可以使攻击者在受害者的浏览器中执行恶意脚本。 3. XSS 漏洞类型:XSS 漏洞可以分为存储型 XSS 漏洞、反射型 XSS 漏洞和 DOM 基于 XSS 漏洞。 4. XSS ...

    Input XSS最新漏洞及利用

    最后,“&lt;script&gt;alert(/xss/)”是一个经典的XSS测试用例,如果执行了这个脚本,那么页面确实存在可以执行任意JavaScript代码的安全漏洞。 文章以实例展示了如何利用Input XSS在搜索框或登录界面进行攻击。在搜索框...

    如何寻找XSS漏洞

    类似的案例还包括阿里旺旺客户端的XSS攻击,攻击者通过修改字体名的方法来构造恶意载荷,并诱使其他用户通过点击消息中的恶意链接而遭受攻击。 在实际攻击测试中,攻击者会利用操作系统提供的字体列表来进行攻击...

    YXcms-含有存储型XSS漏洞的源码包(1).zip

    YXcms是一个常见的内容管理系统,但在这个特定的版本——"YXcms-含有存储型XSS漏洞的源码包(1).zip"中,存在一个严重的安全问题:存储型跨站脚本(Stored Cross-Site Scripting,简称存储型XSS)漏洞。这种漏洞允许...

    XSS漏洞挖掘与安全防护.pdf

    XSS(Cross Site Scripting,跨站脚本攻击)是一种常见的Web安全漏洞。它允许攻击者在用户的浏览器中执行脚本,从而窃取信息或进行恶意操作。XSS攻击有多种形式,包括反射型(存储型和DOM型)。XSS通常通过网站或...

    自动化检测XSS漏洞插件

    自动化检测XSS漏洞插件,希望对大家使用有帮助,一起进步,一起分享

    XSS漏洞解决方案实例

    跨网站脚本(Cross-site scripting,通常简称为XSS或跨站脚本或跨站脚本攻击)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类...

    java HTML过滤器,用于去除XSS漏洞隐患

    java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,...

    xss漏洞讲解.pdf

    XSS漏洞,全称为跨站脚本攻击(Cross-Site Scripting),是一种常见的网络安全漏洞。它允许攻击者将恶意脚本代码注入到正常的网页之中,当其他用户浏览这些网页时,嵌入在其中的恶意脚本就会执行,从而达到攻击者的...

    测试文档(Xss漏洞)

    XSS(Cross-site Scripting,跨站脚本攻击)是一种常见的Web应用安全漏洞,攻击者可以通过在网站上注入恶意脚本,以便在用户的浏览器中执行恶意代码,窃取用户的敏感信息或实施其他恶意行为。 XSS攻击的危害主要...

    javaweb配置xssproject,完美解决安全检测报XSS漏洞

    XSSProject是一个专门针对XSS攻击防护的Java库,通过提供一系列的过滤规则和处理机制,帮助开发者构建更安全的Web应用。 首先,我们来了解一下XSSProject的核心功能。XSSProject主要包含以下几个方面: 1. **XSS...

Global site tag (gtag.js) - Google Analytics