最近更新
阅读排行
读过本文章的之后读了
关注本站

关于XSS攻击的原理及特点

阅读:8243 次   编辑日期:2013-11-06

目录:

概述:

在之前的文章中,我们简单的介绍了一下XSS,XSS攻击简单的来说就是“嵌入代码的攻击”那么这回我们来详细的介绍一下XSS。具体的解决方法这里不在说,在网站安全之浅析数据安全中已经介绍。

XSS注入的原理:

假如我们这里有一个input:
    <input type="text" name="uw3c" value="uw3cfrom"/>
(1)如果这是一个提交的表单,我在input中输入一下内容并且提交成功,那么所有浏览此提交页面的人的面前都会出现提示框:
    < script>alert("uw3c") </script>
(2)如果用户输入:
    "/><script>alert("uw3c")</script><!-
那么就变成了:
   <input type="text" name="uw3c" value=""/>
    <script>alert("uw3c")</script><!- ">
浏览页面的时候还是会有提示框。
解决方法就是用JS或者后台函数过滤或者转义特殊字符,建议用后台函数,因为JS有时候可能会有问题。

为什么用JS过滤会有问题:

首先,如果正则表达式写的不全面的话,可能会有危险
其次,提交表单无非是用POST或者GET传送给后台,POST的话还好,那么如果是GET呢?
没错,因为GET提交的参数是放在URL中,所以我要是直接把代码写在url的参数中然后直接提交的话,可以不经过JS过滤就提交。所以前端可以稍微限制一下,但是解决还是在后台。

不要框架结构的页面:

框架结构的页面:就是一个页面由多个不同地址的页面构成,有点像php的include方法,但是如果引入的文件的地址出现在URL后面的参数中的话,就危险了。例如:
    http://www.xxx.com/?url=123.com
如果我们把123.com换成一个其他网址例如
    http://www.xxx.com/?url=http://www.uw3c.com
如果在页面中出现了UW3C的页面的话,那么恭喜你,可以搞他了,自己做一个和原网站类似的页面,里面让输入用户名,密码。
因为,用户会看网址(正确),用户很深信不疑的输入用户名密码,但是用户名密码却是提交给别人的网站了。所以,尽量不要用框架类的布局。
将本篇文章分享到:
top