IE是怎么处理meta steam的编码的 && 那100+个xss

简介: IE是怎么处理meta steam的编码的  && 那100+个xss【起源】最近hei***放言在各个大网站都存在100+个xss。

IE是怎么处理meta steam的编码的  && 那100+个xss


【起源】

最近hei***放言在各个大网站都存在100+个xss。这是的确存在的,问题出在IE处理meta steam的编码策略上。

 

【原理】

IE是怎么处理meta steam的呢?我举个demo来说明:

 

[a.php]

<script src="js.php"  charset="gbk"  type="text/javascript" ></script>

 

[js.php]

header:Content-Type: text/html; charset=big5

+/v8
alert("+ADs-");

 

解释步骤:

1. IE渲染a.php时,遇到载入 <script src="js.php" 的请求,此时IE为js.php定义的编码是default:unicode。

2. IE解释charset="gbk"属性时,js.php的编码从default:unicode转为gbk。

3. IE读取js.php,遇到http头“Content-Type: text/html; charset=big5”时,js.php的编码从gbk转为big5。

4. IE获得js.php输出的正文后,检查头几个字节是fffe还是+/v*——如果是fffe,编码转换为unicode;如果是+/v*,编码转化为utf-7。

5. 如果该steam是由 <link>标签载入的css文档,就检测@charset标记——如果有,则转化为@charset对应的编码。

(经测试,在IE8下使用http头指定charset后,第4步不会再转化编码。大家自己测试吧)

 

 

【导致的问题】

1.文本存储xss

http://hitn.bdimg.com/linx2008/css/item/8e4c24973277cc6d54fb9668.css

 

+/v8

body {

xxx: expressi+AG8AbgAoA-- (window.x==123456)?1:(x=123456) );

}

(打开hi.baidu.com/linx2008/home,然后输入javascript:alert(x);)在heig**blog上也有demo

 

2.json的"callback"参数(100+个xss的源头)

http://apps.hi.baidu.com/dashan/data/status?asyn=1&callback=【utf-7头】【utf-7数据流】......

 

【解决方案】

 

 方法1:对于json的场景,设置header:Content-Type: "json"

 

方法2:不要让正文输出的第一个符号是"+"。

eg:在数据输出的正文前加个空格or换回;或者过滤"+"开头的参数输出。

目录
相关文章
|
前端开发 JavaScript 安全
【网络安全/前端XSS防护】一文带你了解HTML的特殊字符转义及编码
【网络安全/前端XSS防护】一文带你了解HTML的特殊字符转义及编码
642 0
|
JavaScript 前端开发 安全
XSS编码浅析
XSS编码浅析
193 0
XSS三重URL编码绕过实例
遇到一个很奇葩的XSS,我们先来加一个双引号,看看输出:  双引号被转义了,我们对双引号进行URL双重编码,再看一下输出:  依然被转义了,我们再加一层URL编码,即三重url编码,再看一下输出:   URL编码被还原为双引号,并带入到html中输入。
2117 0
|
Web App开发 安全
IE极度危险XSS漏洞 开启高度可信钓鱼攻击
本文讲的是IE极度危险XSS漏洞 开启高度可信钓鱼攻击,IE浏览器一个通用跨站脚本漏洞(XSS)近日被安全人员披露,该漏洞允许攻击者绕过浏览器安全机制同源策略(SOP),发起高可信网络钓鱼攻击或在任意网站上劫持用户帐户。
1595 0
|
前端开发 安全
XSS漏洞挖掘 - CSS编码和反斜杠的三个技巧
http://www.pulog.org/XSS/1269/XSS-encoding-backslash/  
672 0
|
10月前
|
存储 安全 JavaScript
手摸手带你进行XSS攻击与防御
当谈到网络安全和信息安全时,跨站脚本攻击(XSS)是一个不可忽视的威胁。现在大家使用邮箱进行用户认证比较多,如果黑客利用XSS攻陷了用户的邮箱,拿到了cookie那么就可以冒充你进行收发邮件,那真就太可怕了,通过邮箱验证进行其他各种网站的登录与高危操作。 那么今天,本文将带大家深入了解XSS攻击与对应的防御措施。
|
6月前
|
JavaScript 安全 前端开发
同源策略如何防止 XSS 攻击?
【10月更文挑战第31天】同源策略通过对 DOM 访问、Cookie 访问、脚本执行环境和跨源网络请求等多方面的严格限制,构建了一道坚实的安全防线,有效地防止了 XSS 攻击,保护了用户在网络浏览过程中的数据安全和隐私。
184 49
|
6月前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
198 4
|
6月前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
176 2
|
6月前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
262 3