网络攻击关于XSS和CSRF
Posted 山东省云安全防御平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络攻击关于XSS和CSRF相关的知识,希望对你有一定的参考价值。
随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显。
黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。
如今,Web安全成为焦点,但网站的漏洞还是频频出现,在白帽子们进行网站测试时,恐怕对于SQL注入、XSS跨站、CSRF接触最多,但对于网站的开发者们来说,对这些熟知多少?本文从开发者的角度,对于XSS和CSRF进行简要概述。
XSS原理:
XSS又叫CSS(Cross-SiteScripting跨站脚本攻击)为了不和css层叠样式表混淆,所以改成了XSS。XSS是将恶意的代码插入到html页面中,当用户浏览页面时,插入的html代码会被执行,从而达到最终目的。
CSRF原理:
CSRF是跨站请求伪造(Cross-siterequestforgery)大家可能认为和XSS漏洞相似容易混淆,其实和XSS区别还是很大的,与XSS攻击相比,CSRF攻击不流行(所以防范的资源也稀少)和难以防范,所以被称为比XSS更具危险性。同样这也是XSS和CSRF区别之一。
很多人会搞不明白XSS与CSRF的区别,虽然这两个关键词时常抱团出现,但他们两个是不同维度的东西(或者说他们的目的是不一样的)。 XSS更偏向于方法论,CSRF更偏向于一种形式,只要是伪造用户发起的请求,都可成为CSRF攻击。
XSS与CSRP区别:
(1)CSRF比XSS漏洞危害更高。
(2)CSRF可以做到的事情,XSS都可以做到。
(3)XSS有局限性,而CSRF没有局限性。
(4)XSS针对客户端,而CSRF针对服务端。
(5)XSS是利用合法用户获取其信息,而CSRF是伪造成合法用户发起请求。
通常来说CSRF是由XSS实现的,所以CSRF时常也被称为XSRF[用XSS的方式实现伪造请求](但实现的方式绝不止一种,还可以直接通过命令行模式(命令行敲命令来发起请求)直接伪造请求[只要通过合法验证即可])。 XSS更偏向于代码实现(即写一段拥有跨站请求功能的javascript脚本注入到一条帖子里,然后有用户访问了这个帖子,这就算是中了XSS攻击了),CSRF更偏向于一个攻击结果,只要发起了冒牌请求那么就算是CSRF了。
简单来说,条条大路(XSS路,命令行路)通罗马(CSRF马,XSRF马)。
SS常见攻击形式
非持久型攻击
持久性攻击
CSRF常见攻击途径
通过GET请求
假如某博客网站发布留言的请求是 get: http://www.blog.com/message?content=留言内容。
现在登录此博客网站A,然后再访问另外一个网站B,B网站直接跳转到:http://www.blog.com/message?content=嘿嘿嘿。那么你就在A网站自动的留言了一条“嘿嘿嘿”这样的内容。
所以说一切操作资源的请求,都不应该是GET请求。
通过XSS
之前也阐述过,如果cookie设置的不安全,就可以通过xss获取他人的cookie,有了别人的cookie,服务端再也分不清我是敌是友了,便可以为所欲为。切记,通过xss获取到cookie,发起的CSRF攻击,理论上无法防御。但可以通过一些手段提高技术门槛。
以上是关于网络攻击关于XSS和CSRF的主要内容,如果未能解决你的问题,请参考以下文章