概述
能显示表情图片成了现在的聊天软件必备基本功能,这就需要支持展示富文本的控件。
聊天软件主要用到两种富文本格式: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、发现漏洞及时报告,因为你能发现了,别人也能发现,早点修复漏洞避免无辜的人受到损失。
分享到:
相关推荐
例如,2005年MySpace的XSS蠕虫事件就是一个典型的例子,它在短时间内感染了大量用户页面,展示了XSS攻击的破坏力。即使不涉及服务器权限,XSS也能用来盗取用户cookie、实施钓鱼攻击或者传播恶意代码。 **搜索框的...
要利用此漏洞,攻击者需要能够访问并操作DedeCMS后台的“系统”->“支付工具”->“配送方式设置”,在那里他们可以添加一个新的配送方式,将XSS payload 输入到“简要说明”字段中。一旦数据保存到数据库,payload ...
XSS 漏洞是一种常见的前端安全问题,指的是攻击者在 Web 应用程序中注入恶意脚本,以欺骗用户或窃取用户信息。XSS 漏洞的危害非常高,黑客可以通过 XSS 漏洞盗取用户的敏感信息,或者执行恶意操作。 1. 非持久性 ...
比如,一个简单的登录表单,如果未对用户输入进行充分的验证和转义,攻击者可以通过输入特定的SQL片段,如" OR 1=1 -- ",绕过身份验证。修复SQL注入的方法主要包括: 1. 使用预编译语句(参数化查询):这可以确保...
XSS(Cross-Site Scripting)漏洞扫描是网络安全领域中的一个重要话题,主要针对Web应用程序的安全检测。这种漏洞允许攻击者在用户的浏览器上注入恶意脚本,从而窃取用户数据、执行钓鱼攻击或进行其他有害操作。XSS...
百度编辑器解决xss漏洞
2. XSS 漏洞定义:XSS 漏洞是一种常见的 Web 应用安全漏洞,它可以使攻击者在受害者的浏览器中执行恶意脚本。 3. XSS 漏洞类型:XSS 漏洞可以分为存储型 XSS 漏洞、反射型 XSS 漏洞和 DOM 基于 XSS 漏洞。 4. XSS ...
最后,“<script>alert(/xss/)”是一个经典的XSS测试用例,如果执行了这个脚本,那么页面确实存在可以执行任意JavaScript代码的安全漏洞。 文章以实例展示了如何利用Input XSS在搜索框或登录界面进行攻击。在搜索框...
类似的案例还包括阿里旺旺客户端的XSS攻击,攻击者通过修改字体名的方法来构造恶意载荷,并诱使其他用户通过点击消息中的恶意链接而遭受攻击。 在实际攻击测试中,攻击者会利用操作系统提供的字体列表来进行攻击...
YXcms是一个常见的内容管理系统,但在这个特定的版本——"YXcms-含有存储型XSS漏洞的源码包(1).zip"中,存在一个严重的安全问题:存储型跨站脚本(Stored Cross-Site Scripting,简称存储型XSS)漏洞。这种漏洞允许...
XSS(Cross Site Scripting,跨站脚本攻击)是一种常见的Web安全漏洞。它允许攻击者在用户的浏览器中执行脚本,从而窃取信息或进行恶意操作。XSS攻击有多种形式,包括反射型(存储型和DOM型)。XSS通常通过网站或...
自动化检测XSS漏洞插件,希望对大家使用有帮助,一起进步,一起分享
跨网站脚本(Cross-site scripting,通常简称为XSS或跨站脚本或跨站脚本攻击)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类...
java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,...
XSS漏洞,全称为跨站脚本攻击(Cross-Site Scripting),是一种常见的网络安全漏洞。它允许攻击者将恶意脚本代码注入到正常的网页之中,当其他用户浏览这些网页时,嵌入在其中的恶意脚本就会执行,从而达到攻击者的...
XSS(Cross-site Scripting,跨站脚本攻击)是一种常见的Web应用安全漏洞,攻击者可以通过在网站上注入恶意脚本,以便在用户的浏览器中执行恶意代码,窃取用户的敏感信息或实施其他恶意行为。 XSS攻击的危害主要...
XSSProject是一个专门针对XSS攻击防护的Java库,通过提供一系列的过滤规则和处理机制,帮助开发者构建更安全的Web应用。 首先,我们来了解一下XSSProject的核心功能。XSSProject主要包含以下几个方面: 1. **XSS...