首页 windows软件 手机软件 驱动下载 电脑教程 专题合集
当前位置: 首页 > 电脑教程 > 网络技术 > xss跨站漏洞测试和各种语言防御办法

xss跨站漏洞测试和各种语言防御办法

时间:2014-08-07 17:03:31

小编:动力软件园

阅读:

xSS成因概括 :

    XSS其实就是Html的注入问题,攻击者的输入没有经过严格的控制进入了数据库,最终显示给来访的用户,导致可以在来访用户的浏览器里以 浏览用户的身份执行Html代码,数据流程如下:攻击者的Html输入—>web程序—>进入数据库—>web程序—>用户浏览 器。

检测方法:

//通常有一些方式可以测试网站是否有正确处理特殊字符:

><script>alert(document.cookie)</script> =><script>alert(document.cookie)</script> "><script>alert(document.cookie)</script> <script>alert(document.cookie)</script> <script>alert(vulnerable)</script> %3Cscript%3Ealert(XSS)%3C/script%3E <script>alert(XSS)</script> <img src="javascript:alert(XSS)"> <img src="http://xxx.com/yyy.png" onerror="alert(XSS)"> <div style="height:expression(alert(XSS),1)" />(这个仅限 IE 有效)

攻击手段和目的:

    攻击者使被攻击者在浏览器中执行脚本后,如果需要收集来自被攻击者的数据(如cookie或其他敏感信息),可以自行架设一个网站,让被攻击者通过JavaScript等方式把收集好的数据作为参数提交,随后以数据库等形式记录在攻击者自己的服务器上。 

a. 盗用 cookie ,获取敏感信息。

b.利用植入 Flash ,通过 crossdomain 权限设置进一步获取更高权限;或者利用Java等得到类似的操作。 

c.利用 iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。 

d.利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。

e.在访问量极大的一些页面上的XSS可以攻击一些小型网站,实现DDoS攻击的效果。

漏洞的防御和利用:

避免XSS的方法之一主要是将用户所提供的内容进行过滤,许多语言都有提供对HTML的过滤:

PHP的htmlentities()或是htmlspecialchars()。 Python的cgi.escape()。 ASP的Server.HTMLEncode()。 ASP.NET的Server.HtmlEncode()或功能更强的Microsoft Anti-Cross Site Scripting Library Java的xssprotect(Open Source Library)。 Node.js的node-validator。

使用HTTP头指定类型:

很多时候可以使用HTTP头指定内容的类型,使得输出的内容避免被作为HTML解析。如在PHP语言中使用以下代码: 

header (Content-Type: text/javascript; charset=utf-8);

即可强行指定输出内容为文本/JavaScript脚本(顺便指定了内容编码),而非可以引发攻击的HTML。

请注意版权!转载须写明出处:动力软件园 http://www.pw88.com

火爆手游