CSRF漏洞定义
CSRF(Cross-site request forgery)跨站请求伪造:也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。
——————————————————————————
XSS与CSRF区别
1,XSS利用站点内的信任用户,盗取cookie;
2,CSRF通过伪装受信任用户请求受信任网站。
————————————————————————————
CSRF漏洞原理
利用目标用户的合法身份 ,以目标用户的名义执行某些非法操作。
例如:简单的转账案例
初始化链接 http://www.xxx.com/pay.php?user=xx&miney=100
构造恶意链接: http://www.xxx.com/pay.php?user=恶意用户&miney=10000
————————————————————————————————————
危害
攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账…造成的问题包括:个人隐私泄露以及财产安全。
————————————————————————————————————
CSRF漏洞代码分析
//会话验证
$user = $_GET["user"]; ---------确保用户已经登录
$money = $_GET["money"];
//转账操作 ---------------开始转账
?>
由此可以得出 CSRF成功利用条件;
1,用户已经登录系统
2,用户访问对应的URL
————————————————————————————————————
DVWA -CSRF 示范 low 等级
1, 打开DVWA 选择 low 级别 然后输入密码
2,打开Burp 捉包
去掉Refere 点击CSRF
修改密码 11111
然后点击
复制 URL 然后在另一个地方打开
点击按钮
修改成功
密码改成了 11111