由于您访问的url有可能对网站造成安全威胁_Web常见安全漏洞-XSS攻击

0f725f8ef4397eb565eb63fc7410aa70.png

XSS攻击:跨站脚本攻击(Cross-Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆, 故将跨站脚本攻击缩写为XSS。XSS是一种常见的web安全漏洞,它允许攻击者将恶意代码植入到提供给其它用户使用的页面中。

这个是动态站点的威胁,静态站点完全不受其影响。

XSS分类

存储型XSS:

主要出现在让用户输入数据,供其他浏览此页的用户进行查看的地方,包括留言、评论、博客日志和各类表单等。应用程序从数据库中查询数据,在页面中显示出来,攻击者在相关页面输入恶意的脚本数据后,用户浏览此类页面时就可能受到攻击。这个流程简单可以描述为:恶意用户的Html输入Web程序->进入数据库->Web程序->用户浏览器。

反射型XSS:

将脚本代码加入URL地址的请求参数里,请求参数进入程序后在页面直接输出,用户点击类似的恶意链接就可能受到攻击。

XSS目前主要的手段和目的如下:

  • 盗用cookie,获取敏感信息。
  • 利用植入Flash,通过crossdomain权限设置进一步获取更高权限;或者利用Java等得到类似的操作。
  • 利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击者)用户的身份执行一些管理动作, 或执行一些如:发微博、加好友、发私信等常规操作,前段时间新浪微博就遭遇过一次XSS。
  • 利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。
  • 在访问量极大的一些页面上的XSS可以攻击一些小型网站,实现DDoS攻击的效果
0f609c3ab8dd13410c3a1a691c4c8400.png

XSS原理

Web应用未对用户提交请求的数据做充分的检查过滤,允许用户在提交的数据中掺入HTML代码(最主要的是“>”、“

以反射性XSS举例说明XSS的过程,现在有一个网站,根据参数输出用户的名称, 例如访问url:http://127.0.0.1/?name=foobar,就会在浏览器输出如下信息:

hello foobar

如果我们传递这样的url:

http://127.0.0.1/?name=

这时你就会发现浏览器跳出一个弹出框,这说明站点已经存在了XSS漏洞。

那么恶意用户是如何盗取Cookie的呢?与上类似,如下这样的url:

http://127.0.0.1/?name=

这样就可以把当前的cookie发送到指定的站点:www.xxx.com

你也许会说,这样的URL一看就有问题,怎么会有人点击?是的,这类的URL会让人怀疑,但如果使用短网址服务将之缩短 ,你还看得出来么?攻击者将缩短过后的url通过某些途径传播开来,不明真相的用户一旦点击了这样的url, 相应cookie数据就会被发送事先设定好的站点,这样子就盗得了用户的cookie信息, 然后就可以利用Websleuth之类的工具来检查是否能盗取那个用户的账户。

4a46941d3bc6e38ca62d4538af11aefe.png

预防XSS

答案很简单,坚决不要相信用户的任何输入,并过滤掉输入中的所有特殊字符。这样就能消灭绝大部分的XSS攻击。

目前防御XSS主要有如下几种方式:

  • 过滤特殊字符

避免XSS的方法之一主要是将用户所提供的内容进行过滤。

  • 使用HTTP头指定类型
header.set("Content-Type
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值