网站首页 文章专栏 Web安全之跨站请求伪造CSRF
Web安全之跨站请求伪造CSRF
编辑时间:2017-01-11 20:08 作者:Absolutely 浏览:759 评论:5

     跨站请求伪造:(英语:Cross-site request forgery)缩写为CSRF,是一种挟持用户在当前已登录的Web应用程序上执行非本意操作的攻击方法。


    以上定义来自百度百科,单看定义是比较难以理解的!

    我上网查阅相关资料,对跨站请求伪造有了大概的了解,在此做个小小的总结!

    首先,一般一个网站需要取得权限的用户登录后,才能发送相应的请求,就MVC而言,我一般用过滤器在请求Action之前判断用户是否登录,做个拦截!也就是说,跨站请求首先需要取得网站的权限,也就是用户登录!在登陆后,浏览器都会保存一个Cookie来识别用户,所以这时候只要你打开攻击者带有恶意请求当前网站的网页,那个这个恶意请求就会成功执行!

    比如:某论坛网站的删除帖子的Action Delete(id)在HomeController 中,那么这时候要是打开一个网站 ,网站中有个<img src="Home/Delete?id=1"/>,这时候,你的帖子就会被恶意删除!  

    当然一般网站这类Action都不允许Get请求。

    不过,通过表单提交,以及Ajax都可以实现POST恶意请求。


    <form action="Home/Delete" method="post">
        <input type="text" name="id"/>
        <input type="submit" value="提交"/>
    </form>



    $.ajax(
        type:post,
        url:"Home/Delete"
        data:"id=1",
        success:function(){
        }
    );


    如何防止CSRF?


    请看:ASP.NET MVC防范CRFS

    


    出自:不落阁

    链接:www.lyblogs.cn    

    转载请注明出处!

来说两句吧
最新评论
  •    深爱💋
    深爱💋 2017-03-15 11:55:59
    验证权限
  • DLL
    DLL 2017-03-15 13:31:28
    1
  • ForwardGoing ✅
    ForwardGoing ✅ 2017-03-16 11:20:40
    1
  • ゛天空ノ轉晴時
    ゛天空ノ轉晴時 2017-03-16 12:36:47
    如何防止啊?博主为何不讲完啊?微软是有一套自己的处理机制!不知道可靠不
  • 莫叹流年少
    莫叹流年少 2017-03-22 14:49:24