首页 > 其他 > 详细

CSRF学习笔记之CSRF的攻击与防御以及审计【00x3】

时间:2017-03-12 23:34:20      阅读:262      评论:0      收藏:0      [点我收藏+]

Hight.php完整代码如下:

技术分享
<?php
            
    if (isset($_GET[‘Change‘])) {
    
        // Turn requests into variables
        $pass_curr = $_GET[‘password_current‘];
        $pass_new = $_GET[‘password_new‘];
        $pass_conf = $_GET[‘password_conf‘];

        // Sanitise current password input
        $pass_curr = stripslashes( $pass_curr );
        $pass_curr = mysql_real_escape_string( $pass_curr );
        $pass_curr = md5( $pass_curr );
        
        // Check that the current password is correct
        $qry = "SELECT password FROM `users` WHERE user=‘admin‘ AND password=‘$pass_curr‘;";
        $result = mysql_query($qry) or die(‘<pre>‘ . mysql_error() . ‘</pre>‘ );

        if (($pass_new == $pass_conf) && ( $result && mysql_num_rows( $result ) == 1 )){
            $pass_new = mysql_real_escape_string($pass_new);
            $pass_new = md5($pass_new);

            $insert="UPDATE `users` SET password = ‘$pass_new‘ WHERE user = ‘admin‘;";
            $result=mysql_query($insert) or die(‘<pre>‘ . mysql_error() . ‘</pre>‘ );
                        
            $html .= "<pre> Password Changed </pre>";        
            mysql_close();
        }
    
        else{        
            $html .= "<pre> Passwords did not match or current password incorrect. </pre>";            
        }

    }
?>
View Code

我们来看看这次他是如何防御CSRF漏洞的。

技术分享

这次要输入原先的密码然后才可以输入新的密码。

这个属于二次验证。这个是相对现在预防csrf较为有效行之有效的预防措施。这个关卡应该是没办法绕过的。如果大家可以绕过,分享分享姿势哈。

CSRF学习笔记之CSRF的攻击与防御以及审计【00x3】

原文:http://www.cnblogs.com/xishaonian/p/6540023.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!