介绍CSRF漏洞
CSRF(Cross-site request forgery,跨站请求构造)是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户请求受信任网站。与XSS攻击相比,CSRF攻击往往不大流行也难以防范,所以被认为比XSS更具危险性。
CSRF漏洞的原理
其实可以这样理解CSRF:攻击者利用目标用户的身份,以目标用户的名义执行某些非法操作。CSRF能够做的事情包括:以目标用户的名义发送邮件、发消息,盗取目标用户的账号,甚至购买商品,虚拟货币转账,这会泄露个人隐私并威胁到了目标用户的财产安全。
CSRF的攻击过程有以下两个重点。
1、目标用户已经登录了网站,能够执行网站的功能。
2、目标用户访问了攻击者构造的URL。
利用DVWA靶场进行CSRF漏洞测试
安装DVWA靶场可参考网上博客
dvwa安装、配置、使用教程(Linux)(windows同样适用)
打开PhpStudy安装配置好DVWA后可以在浏览器地址栏输入
https://127.0.0.1/DVWA-master/login.php(DVWA-master为我个人文件夹名称)
跳转到登录界面
DVWA靶场初始登录账号admin,密码password。
登录成功后进入主界面
靶场初始难度是impossible,调整一下难度
Low级CSRF测试
调整好难度之后进行测试,可以从测试源码中看到low级难度下网站对于CSRF攻击没有任何防备。
Low难度源代码:
<?php
if( isset( $_GET[ 'Change' ] ) ) {
// Get input
$pass_new = $_GET[ 'pa