Laravel - CSRF - 学习/实践

1.应用场景

了解Laravel csrf的使用以及工作原理,以及更多的web攻击方式以及相应的防护措施。

2.学习/操作

1.介绍

跨站请求伪造(CSRF)是一种通过伪装授权用户的请求来攻击授信网站的恶意漏洞。

 

2.学习

1.使用postman/浏览器进行表单请求

code:

Route::get('/form', function(){

    return csrf_field();

    return '

            ' . csrf_field() . '

            ...

            ';

});


 

Route::post('/csrf', function(Request $request){

    return $request->all();

});

截图: 

Laravel - CSRF - 学习/实践_第1张图片

 

Postman:

Laravel - CSRF - 学习/实践_第2张图片

// Postman 连续请求三次


 

Chrome:

Laravel - CSRF - 学习/实践_第3张图片

// Chrome 连续请求三次


 

 

综上可以看到:

不论使用Postman还是Chrome, 连续请求三次, 返回的结果是相同的 【即value值是不变的】

但是postman与Chrome返回的value并不是相同的, 即csrf_token跟访问会话有关.

 

但是,在经过一段时间后, 就会变化为新的一个csrf_token

Laravel - CSRF - 学习/实践_第4张图片

2.如果post 请求,想正常请求,不通过后端屏蔽,仅仅为了一时间的测试.

可以先使用get请求获取csrf_token值

Laravel - CSRF - 学习/实践_第5张图片

 

然后添加quey stringf方式 _token=pk57g76kuM3Toce8HFqpmRB6auTB9Q1b458ZpTFI

Laravel - CSRF - 学习/实践_第6张图片

 

或者

请求体中form-data中添加:

_token:pk57g76kuM3Toce8HFqpmRB6auTB9Q1b458ZpTFI

Laravel - CSRF - 学习/实践_第7张图片

正常响应.

 

 

后续补充

...

3.实践

TBD

 

后续补充

...

3.问题/补充

TBD

4.参考

https://xueyuanjun.com/post/21464  //CSRF 防护

http://ningxiaofa.top/blog/pjwgtbue5f336e767a8da-0  //安全 - 常见web攻击

后续补充

...

 

你可能感兴趣的:(LARAVEL,网络安全-NETWORK,SECURITY)