CSRF 跨站请求伪造

CSRF(Cross Site Request Forgery),中文是跨站请求伪造。CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以用户身份在攻击页面对目标网站发起伪造用户操作的请求,达到攻击目的。

举个列子

假如A站为受信任的银行网站,其中有个银行转账的表单;B站为黑客网站,其中有个页面带有伪造A站银行转账表单提交的请求,当用户登录A站后,在不退出的情况下,再去访问B站,就会向黑客指定账户转账。

A站代码(这里通过表单提交文本内容模拟银行转账)

index.php 控制器文件

display();
    }

    /**
     * 用户登录界面及操作
     */
    public function login()
    {
        if($_POST['submit']){
            if(($_POST['uname'] == 'jack') && ($_POST['passwd'] == '123456')){
                $_SESSION['uid'] = 1;
                redirect('/index/index');
            }else{
                redirect('/index/login');
            }
        }else{
            $this->display();
        }
    }
}

login.html 登录视图




    
    Title


    


index.html 表单提交视图




    
    Title


    

B站代码 (这里通过iframe隐式提交伪造的表单)

hacker.html




    
    Title


    test
    



你可能感兴趣的:(web安全)