白话:XSS攻击(Cross Site Scripting)

XSS攻击是什么?

XSS攻击:跨站脚本攻击(Cross Site Scripting)
为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS

XSS攻击的过程:
这里写图片描述

例子:

表单内容:

<input type="text" name="nick">

当用户输入:

"/><script>alert("haha");</script><!--

当服务端检测用户输入不合法,需要返回提交页面让用户重新输入的时候:

<input type="text" name="nick" value=""/><script>alert("haha");</script><!--">

或者当需要将用户的信息来展示的时候

<p>"/><script>alert("haha");</script><!--</p>

如此造成的结果将是:

这里写图片描述

这个结果看似不是特别严重,但是我们可以将输入再更改一下:
当输入:

<p>"/><script>while(1){alert("haha");}</script><!--</p>

这样的结果将导致弹窗永远无法停止,从而导致页面无法正常加载,用户无法正常操作

如果用户输入其他更具破坏力的脚本,那麼你只要一访问这个网站页面,将会立马中招,简直就是躺着就中枪。

XSS攻击防御

对于这样的攻击,我们应该怎样防御呢?

我们可以知道,之所以会受到这样的攻击,原因是浏览器错将该以文本方式显示的内容,当成代码来执行了,那么有什么可以避免这种错误呢?

最简单的方法就是,将用户输入的内容转义,使其变成浏览器不可执行的文本,转换方式如下:

                < -----> &lt;
                > -----> &gt;
                ' -----> &amp;
                " -----> &quot;

经过转换后,上面输入的内容在保存的时候将为:

前端用户输入:

"/><script>alert("haha");</script><!--

经后台转换后:

&quot;/&gt;&lt;script&gt;alert("haha");&lt;/script&gt;&lt;!--

当前台显示的时候,就如下:

"/><script>alert(“haha”);</script><!–

至此,相信你已经基本了解XSS攻击了,当然,关于XSS攻击更加高级的知识还期待你去深入探索,由于水平有限,这里就不多讲了,有关更多XSS知识,点击:http://netsecurity.51cto.com/art/201408/448305_all.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值