XSS漏洞原理与防护措施

xss漏洞,既跨站脚本攻击

xss分类:

大致可以分为储存型与反射型。

储存型:最直接的危害类型,跨站代码存储在服务器(数据库)。

反射型:反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。

如图watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDlhqzpm6rlrqI,size_20,color_FFFFFF,t_70,g_se,x_16

图中所示位储存型xss攻击流程。攻击者要先搭建起恶意服务器。构建xss恶意脚本,通过留言,评论,注册等各种正常服务器可以上传的位置上传恶意脚本。

服务器会将恶意脚本保存在数据库中,当正常用户访问服务器并查看了该恶意脚本时,服务器会将xss的恶意脚本返回至用户浏览器。

这时用户在不知情的情况下就受到了攻击,用户的浏览器会将解析该恶意脚本并向恶意服务器发起指定请求。

攻击者就可以在恶意服务器里拿到自己想要的用户信息。

相比于储存型xss反射型xss对于用户来说要容易防范。

如图watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDlhqzpm6rlrqI,size_20,color_FFFFFF,t_70,g_se,x_16 

用户访问正常服务器时点击了带有xss恶意脚本的链接。

用户浏览器就会在用户不知情的情况下访问正常服务器

正常服务器会相应该恶意请求并如同正常请求一般返回响应。

浏览器收到响应之后会将恶意脚本指定的信息请求恶心服务器。

黑客也就从恶意服务器中得到了想要的信息。

常见的攻击目的 :

1、盗用cookie,获取敏感信息。

2、利用植入Flash,通过crossdomain权限设置进一步获取更高权限;或者利用Java等得到类似的操作。3、利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。

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

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

防护措施:

1  当恶意代码值被作为某一标签的内容显示:在不需要html输入的地方对html 标签及一些特殊字符( ” < > & 等等 )做过滤,将其转化为不被浏览器解释执行的字符。

2  当恶意代码被作为某一标签的属性显示,通过用 “将属性截断来开辟新的属性或恶意方法:属性本身存在的 单引号和双引号都需要进行转码;对用户输入的html 标签及标签属性做白名单过滤,也可以对一些存在漏洞的标签和属性进行专门过滤。

3  对输出的内容进行过滤,针对网站需要输出的html内容用进行关键字过滤。

4   实现Session 标记(session tokens)、CAPTCHA(验证码)系统或者HTTP引用头检查,以防功能被第三方网站所执行,对于用户提交信息的中的img等link,检查是否有重定向回本站、不是真的图片等可疑操作。

5 cookie 防盗。避免直接在cookie中泄露用户隐私,例如email、密码,等等;通过使cookie和系统IP绑定来降低cookie泄露后的危险。这样攻击者得到的cookie没有实际价值,很难拿来直接进行重放攻击。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值