跨站脚本攻击漏洞怎么修复_十大常见web漏洞——跨站脚本漏洞

跨站脚本漏洞(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、窃取密码、传播恶意代码等攻击。

XSS攻击使用到的技术主要为HTML和Javascript,也包括VBScript和ActionScript等。XSS攻击对WEB服务器虽无直接危害,但是它借助网站进行传播,使网站的使用用户受到攻击,导致网站用户帐号被窃取,从而对网站也产生了较严重的危害。

XSS类型包括:

1、反射型跨站:是目前最普遍的跨站类型。跨站代码一般存在于链接中,请求这样的链接时,跨站代码经过服务端反射回来,这类跨站的代码不存储到服务端(比如数据库中)。例如连接:http://127.0.0.1:8000/DVWA/vulnerabilities/xss_r/?name=,用户提交的name参数值为“”,它是一段简单的Javascript代码,结果就是弹出一个内容为“5555”的弹窗(图中的连接部分字符被转码),如下图:

6bdaf09326a57e87e3c3af42d869c9a5.png

反射型XSS弹窗

2、存储型跨站:这是危害最直接的跨站类型,跨站代码存储于服务端(比如数据库中)。常见情况是某用户在论坛发贴,如果论坛没有过滤用户输入的Javascript代码数据,就会导致其他浏览此贴的用户的浏览器会执行发贴人所嵌入的Javascript代码。例如下图:输入mame为存储型,内容为“”的帖子

e2aa13780f61e88ebffd6b08c45c9161.png

存储型XSS

点击确认,也会出现内容为“5555”的弹窗,但是它和反射型跨站不同的是“”已经存入到后台数据库中,当我们再点击上图左侧XSS(stored)时依然会出现下图所示的弹窗,可以看到下图浏览器地址栏里没有“name=”参数。

6a2d89234e0b7060e6cb22a9e0d9d015.png

存储型XSS弹窗

3、DOM跨站(DOM XSS):是一种发生在客户端DOM(Document Object Model文档对象模型)中的跨站漏洞,很大原因是因为客户端脚本处理逻辑导致的安全问题。这个情况比较多,我们可以在打开浏览器网页时按“F12”,如下图

4c148f2dbf59cbd0c5a4ffd42a654a19.png

网页源码

理论上那些有交互的HTML标签都可能存在DOM型跨站。

以上是为了验证XSS漏洞存在,使用了比较简单的代码,如果换成获取cookies信息的代码,或者是做成非常有吸引力的弹窗,就会诱导用户点击,从而掉入攻击者的陷阱。

常用的防止XSS漏洞技术包括:

1、与SQL注入防护的建议一样,假定所有输入都是可疑的,必须对所有输入中的script、iframe等字样进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包括HTTP请求中的Cookie中的变量,HTTP请求头部中的变量等。

2、不仅要验证数据的类型,还要验证其格式、长度、范围和内容。

3、不要仅仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进行。

4、对输出的数据也要检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点时也要进行安全检查。

5、在发布应用程序之前测试所有已知的威胁。

没有网络安全,就没有国家安全。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值