XSS和CSRF两种攻击方式总结

1.xss跨站脚本攻击

xss漏洞从本质上是将数据注入到静态代码中(如html和js等),当浏览器渲染html时就会触发注入的脚本引发xss攻击。

xss的产生原因就是对用户的输入过滤不严格,在能够同用户实现交互的地方更容易发现xss漏洞。

xss可以做什么?

1.xss攻击能达到什么成都造成多大的影响,很大程度上受到攻击者js水平影响。

2.xss攻击可以实现客户端和服务器的攻击。客户端攻击最常见的就是窃取cookie,另外还可以实现放马、刷流量等。服务端攻击可以劫持后台、篡改页面、蠕虫等。

xss的三种分类

1.反射性xss

2.存储型xss

3.dom树xss

下面详细介绍这三种方式

1.反射性xss

反射型XXS是一种非持久性的攻击,它指的是恶意攻击者往Web页面里插入恶意代码,当用户浏览该页时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的目的。这里插入的恶意代码并没有保存在目标网站,需要引诱用户点击一个链接到目标网站的恶意链接来实施攻击。

简单来说就是,攻击者发送一个恶意链接,然后用户点击后,恶意链接会在服务器上正常执行,服务器执行以后会把攻击者的恶意代码执行从而达到攻击目的,最后再返回攻击者想要得到的信息给攻击者,攻击完成,后续攻击者利用得到的信息可以执行其他攻击。

2.存储型xss

存储型xss就是攻击者的恶意代码会保存到服务器中,比如留言板评论区这种公共区域,当其他用户访问存储有恶意代码的页面时就会触发恶意代码。存储型和反射性xss的区别在于,反射性xss需要用户点击恶意链接才能执行代码,而存储型xss是不需要访问合法网站以外的任何链接的。

3.dom树型xss

例如服务器端经常使用document.boby.innerHtml等函数动态生成html页面,如果这些函数在引用某些变量时没有进行过滤或检查,就会产生DOM型的XSS。DOM型XSS可能是存储型,也有可能是反射型。

例如上图的js代码增加了一个p标签来写入内容“这是新。”

 JavaScript - HTML DOM 方法可以参考这个链接来学习关于js操作dom的方法。

通过JavaScript,可以重构整个HTML文档,就是说可以添加,移除等等,对页面的某个东西进行操作时,JavaScript就需要获得对HTML文档中所有元素进行访问的入口。这个入口就是DOM,所以在DOM型的xss漏洞利用中,DOM可以看成是一个访问HTML的标准程序接口。

2.CSRF跨站请求伪造攻击

CSRF漏洞检测
检测CSRF漏洞是一项比较繁琐的工作,最简单的方法就是抓取一个正常请求的数据包,去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞。
随着对CSRF漏洞研究的不断深入,不断涌现出一些专门针对CSRF漏洞进行检测的工具,如CSRFTester,CSRF Request Builder等。
以CSRFTester工具为例,CSRF漏洞检测工具的测试原理如下:使用CSRFTester进行测试时,首先需要抓取我们在浏览器中访问过的所有链接以及所有的表单等信息,然后通过在CSRFTester中修改相应的表单等信息,重新提交,这相当于一次伪造客户端请求。如果修改后的测试请求成功被网站服务器接受,则说明存在CSRF漏洞,当然此款工具也可以被用来进行CSRF攻击。

CSRF内容引用于:什么是CSRF_炎升的博客-CSDN博客_csrf仅作为学习总结资料使用,更多内容可以请自行前往拜读。

3.比较xss和CSRF

xss和csrf的攻击比较相似,最开始接触的时候我也分不清两者的区别。

现在大概总结一下,xss攻击相对于csrf攻击造成的影响更容易被察觉,因为csrf攻击的本质是利用了合法用户的身份来完成一些对于服务器来说合法操作,比如攻击者盗用合法用户的身份来修改合法用户的密码。xss的攻击可以通过后台日志发现,而csrf本身是由用户或管理员自己发起的行为,是很难被察觉的。

我个人觉得csrf和反射性xss相似更多一点,但是他们二者之间的最明显区别在于,csrf的攻击是由用户或者管理员完成的,攻击者只是负责构造恶意代码,而反射性xss攻击者在构造完代码以后还要引导用户点击链接,在用户执行完恶意代码后,攻击者还要对攻击获得的数据进行再次的利用,比如利用cookie来完成某些操作。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值