CSRF(跨站请求伪造)

Posted 黑白之道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSRF(跨站请求伪造)相关的知识,希望对你有一定的参考价值。


CSRF(Cross-site request forgery)跨站请求伪造,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相同。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。


  XSS与CSRF的区别是什么呢?


  XSS:攻击者发现XSS漏洞——构造代码——发送给受害人——受害人打开——攻击者获取受害人的cookie——完成攻击


  CSRF:攻击者发现CSRF漏洞——构造代码——发送给受害人——受害人打开——受害人执行代码——完成攻击


应该发现CSRF少了一个 获取受害人的cookie的步骤。为什么会少了呢?因为受害人在执行代码的时候就已经完成的攻击,而攻击者并没有参与进来。


XSS容易发现,因为攻击者需要登录后台完成攻击。管理员可以看日志发现攻击者。 CSRF则不同,他的攻击一直是管理员自己实现的,攻击者只负责了构造代码。


CSRF(跨站请求伪造)


1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;


2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;


3. 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;


4. 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;


5. 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。


CSRF(跨站请求伪造)


题意:书写一个URL诱使其他用户点击,从而触发CSRF攻击。


解题:以图片的的形式将URL放进Message框,这时的URL对其他用户是


不可见的,其他用户一旦点击图片,就会触发一个CSRF事件。


代码如下:

<img 
src="http://XXXXXXXXXXXXXXX/WebGoat/attack?Screen=45&menu=900&Num=2&transferFunds=5000" width="1" height="1"/>


CSRF(跨站请求伪造)


CSRF(跨站请求伪造)


CSRF(跨站请求伪造)

你会喜欢






亲喜欢吗?记得点赞|留言|分享


----------------------------------

要闻、干货、原创、专业
关注“黑白之道” 微信:i77169
华夏黑客同盟我们坚持,自由,免费,共享!



以上是关于CSRF(跨站请求伪造)的主要内容,如果未能解决你的问题,请参考以下文章

CSRF跨站请求伪造

Django--CSRF 跨站请求伪造

CSRF跨站请求伪造

跨站请求伪造CSRF原理

对CSRF(跨站请求伪造)的理解

21)django-csrf(跨站请求伪造)