龙空技术网

十大常见web漏洞——跨站脚本漏洞

科技兴 306

前言:

而今大家对“css漏洞”大致比较关怀,看官们都需要分析一些“css漏洞”的相关知识。那么小编同时在网络上汇集了一些有关“css漏洞””的相关知识,希望小伙伴们能喜欢,看官们快快来了解一下吧!

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

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

XSS类型包括:

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

反射型XSS弹窗

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

存储型XSS

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

存储型XSS弹窗

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

网页源码

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

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

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

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

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

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

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

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

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

标签: #css漏洞 #js制作论坛发帖