DVWA-CSRF 跨站请求伪造YWGZ

CSRF

跨站请求伪造,由客户端发起,是一种劫持受信任用户向服务器发送非预期请求的攻击方式

一、Low等级

1、漏洞分析

 // Get input
    $pass_new  = $_GET[ 'password_new' ];
    $pass_conf = $_GET[ 'password_conf' ];

    // Do the passwords match?
    if( $pass_new == $pass_conf ) { 
  • 没有任何防护CSRF的机制

2、漏洞利用

  • 构造链接http://127.0.0.1/DVWA-master/vulnerabilities/csrf/?password_new=abc123&password_conf=abc123&Change=Change
  • 构造攻击页面、打开页面即攻击
<html>
<img src="http://127.0.0.1/DVWA-master/vulnerabilities/csrf/?password_new=abc123&password_conf=abc123&Change=Change">
<h1>404</h1>
<h2>File not found.Please refresh.</h2>
</html>

二、Mediium等级

1、漏洞分析

// Checks to see where the request came from
    if( stripos( $_SERVER[ 'HTTP_REFERER' ] ,$_SERVER[ 'SERVER_NAME' ]) !== false ) { 
  • 验证请求的HTTP头中的referer中是否含有Server_name,即是否含有服务器Host

2、漏洞利用

  • 获取服务器host内容
  • 将伪造的html页面命名为host内容
  • 绕过判断,成功攻击

三、High等级

1、漏洞分析

 // Check Anti-CSRF token
    checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' ); 
  • 修改密码需要加入上次访问页面返回的token

2、漏洞利用

2.1结合xss

  • 利用XSS获取token
  • 使用获取的token,构造和Low等级类似的攻击页面
  • 成功攻击

2.2结合文件上传

  • 构造链接http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=1&password_conf=1&Change=Change&user_token=user_token
  • 构造页面,向修改密码页面发送请求,利用jsp的函数获取token
  • 利用文件上传漏洞,将伪造页面放在与修改密码页面同一域名下
  • 成功攻击

四、Impossible等级

1、安全分析

// Sanitise current password input
    $pass_curr = stripslashes( $pass_curr ); 

 // Check that the current password is correct
    $data = $db->prepare( 'SELECT password FROM users WHERE user = (:user) AND password = (:password) LIMIT 1;' );
    $data->bindParam( ':user', dvwaCurrentUser(), PDO::PARAM_STR );
    $data->bindParam( ':password', $pass_curr, PDO::PARAM_STR );
    $data->execute(); 
  • 加入原始密码验证,有效防止cerf攻击
  • 采用PDO机制,防止SQL注入

上一篇:命令注入
下一篇:文件包含

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值