跨站式脚本(Cross-SiteScripting)XSS攻击原理分析第3/4页
更新时间:2008年09月06日 12:27:38 作者:
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。
危害
1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马
7、控制受害者机器向其它网站发起攻击
防范
1、必须明确:一切输入都是有害的,不要信任一切输入的数据。
2、缓和XSS问题的首要法则是确定哪个输入是有效的,并且拒绝所有别的无效输入。
3、替换危险字符,如:"&", "<", ">", ""","'", "/", "?",";", ":", "%", "<SPACE>", "=", "+"。各种语言替换的程度不尽相同,但是基本上能抵御住一般的XSS攻击。
a.ASP中的Server.HTMLEncode: <%= Server.HTMLEncode("The paragraph tag: <P>") %>
b.ASP.NET的Server.HtmlEncode及Server.UrlEncode: String TestString = "This is a <Test String>.";
String EncodedString = Server.HtmlEncode(TestString);
Server.UrlEncode(Request.Url.ToString());
4、有些网站使用过滤javascript关键字的办法来防止XSS,其实是很不明智的,因为XSS有时候根本就不需要javascript关键字或者对javascript关键字进行格式变化来躲过过滤。
5、为所有的标记属性加上双引号。应该说这也不是万全之策,只是在转义了双引号的前提下的一道安全保障。比如: 不加双引号时,onclick被执行了:
<a href=http://www.xxx.com/detail.asp?id=2008 onclick='javascrpt:alert('haha')'>
加上了双引号,onclick不会被执行:
<a href="http://www.xxx.com/detail.asp?id=2008 onclick='javascrpt:alert('haha')'">
6、将数据插入到innerText属性中,脚本将不会被执行。如果是innerHTML属性,则必须确保输入是安全的。如ASP.NET中:
相关文章
跨站脚本攻击XSS(Cross Site Script)的原理与常见场景分析
XSS指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。这篇文章主要给大家介绍了关于跨站脚本攻击XSS(Cross Site Script)的原理与常见场景的相关资料,需要的朋友可以参考下。2017-12-12
Iptables防火墙connlimit与time模块扩展匹配规则
这篇文章主要为大家介绍了Iptables防火墙connlimit与time模块扩展匹配规则详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-08-08


最新评论