推广 热搜: 公司  快速  中国  企业  上海  未来    政策  系统  公司2 

CSRF跨站请求伪造原理及示例

   日期:2025-01-01     作者:aofmpz    caijiyuan   评论:0    移动:http://www78564.xrbh.cn/mobile/news/30739.html
核心提示:        CSRF,全称为Cross-Site Request Forgery,即跨站请求伪造。这是一种攻击方式,它利用用户已

        CSRF,全称为Cross-Site Request Forgery,即跨站请求伪造。这是一种攻击方式,它利用用户已登录的身份,在用户毫不知情的情况下,以用户名义执行非法操作。简单来说,就是攻击者诱导用户访问一个恶意网页,该网页利用用户当前的会话(例如,用户登录了一个网站后的cookie信息,在后台向另一个网站发起非法请求。

CSRF跨站请求伪造原理及示例

        CSRF攻击也成为"one click"攻击。

        攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等等。

        csrf分类一般分为站内、站外两种类型。

        在一些敏感的操作中(如修改密码、添加用户等,在php语言中,本来要求用户从表单提交发起POST请求传递参数给程序,但是由于使用了 $_REQUEST 等变量,程序除支持接收POST请求传递的参数外也支持接收GET请求传递的参数,这样就会为攻击者使用CSRF攻击创造条件。

        有时为了提高用户的体验性,可能没有对一些操作做,做任何限制,所以攻击者可以事先预测并设置请求的参数,在站外的Web页面里编写脚本伪造文件请求,或者和自动提交的表单一起使用来实现GET、POST请求,当用户在会话状态下点击链接访问站外Web页面,客户端就被强迫发起请求。

        检测工具:burp、csrfTester

        扫描器:AWVS、Appscan、等。这种误报率很高。

1.创建文本文件(xxx.txt

2.鼠标放在文件上,右键添加到压缩文件

3.在弹出的窗口中勾选创建自解压格式压缩文件

4.切换到高级选项卡,单击自解压文件选项,在弹出的对话框,切换到安装选项卡

5.解压缩后运行,下方的文本框中输入网址(http://www.xxx.com

6.单击确定,再次单击确定,到这里就制作好了自解压缩包

视频演示

结合靶场演示通过自解压缩文件删除用户

打开Burp抓包工具,开启代理,拦截数据包,点击删除操作,获取数据包。

 获取到下方网址 

http://172.28.25.41/pikachu/vul/overpermission/op2/op2_admin.php?id=94

在创建自解压文件时,将此网址粘贴到解压后运行文本框中。

 前提是管理员账户登录状态,双击自解压缩文件。

 单击安装看效果

1.登录管理员账户(admin

 2.单击管理中心按钮

3.输入管理员密码,点击提交按钮

4.单击 UCenter 选项卡

5.登录 UCenter用户管理中心

 6.左侧选择数据备份选项

7. 抓取数据包

8.构造备份链接 

 

 9.到这里,退出管理员账户并清除痕迹,登录普通用户

10.进入板块,单击发帖

11.发帖内容随便写,主要是将构造好的备份网址,利用网络图片的方式插入到帖子中。

 我们先看一下Discuz备份目录中的文件

12.退出普通用户,登录管理员用户,步骤按1到5步操作。

13.进入csrf版块

14.浏览刚才普通用户发布的贴子。

15.在查看帖子的同时,构造的链接被成功执行。

 16.通过浏览器直接访问备份文件,下方地址,看效果。

 
 

 数据全部被你拿到了。

  1. 验证HTTP Referer字段
  2. 在请求地址中添加token并验证
  3. 在HTTP头中自定义属性并验证
  4. 在服务端区严格区分好POST与GET的数据请求
  5. 使用验证码或者原密码确认方式进行

验证HTTP Referer字段

        通过HTTP Referer,当前的网页可以检查访客从哪里而来,这也常被用来对付伪造的跨网站请求。Referer可以用来判断请求来源是否合法,从而防止恶意攻击。

在请求地址中添加token并验证

        在HTTP请求中以参数的形式加入一个随机产生的token,并在服务器端建立一个拦截器来验证这个token,如果请求中没有token或者token内容不正确,则认为可能是CSRF攻击而拒绝该请求。

在HTTP头中自定义属性并验证

        自定义属性的方法也是使用token并进行验证,和前一种方法不同的是,这里并不是把token以参数的形式置于HTTP请求之中,而是把它放到HTTP头中自定义的属性里。通过XMLHttpRequest这个类,可以一次性给所有该类请求加上csrftoken这个HTTP头属性,并把token值放入其中。这样解决了前一种方法在请求中加入token的不便,同时,通过这个类请求的地址不会被记录到浏览器的地址栏,也不用担心token会通过Referer泄露到其他网站。

在服务端区严格区分好POST与GET的数据请求

        如在asp网站中不要使用Request来直接获取数据。同时建议不要用GET请求来执行持久性操作(数据添加、更新、删除等动作)。

使用验证码或者原密码确认方式进行

        这种方法很有效,但是用户体验就差了些。

        用户上网时,不要轻易点击网络论坛、聊天室、即时通讯工具或电子邮件中出现的链接或者图片;及时退出长时间不使用的已登录账户,尤其是系统管理员,应尽量在登出系统的情况下点击未知链接和图片。除此之外,用户还需要在连接互联网的计算机上安装合适的安全防护软件,并及时更新软件厂商发布的特征库,以保持安全软件对最新攻击的实时跟踪。

        用户可以借助第三方的专业安全设备加强对CSRF漏洞的防御。 H3C公司的IPS产品采用了
特殊技术,支持对部分常用系统的CSRF漏洞攻击进行检测和阻断。

        CSRF攻击的本质是攻击者伪造了合法的身份,对系统进行访问。如果能够识别出访问者的伪造身份,也就能识别CSRF攻击。

本文地址:http://www78564.xrbh.cn/news/30739.html    迅博思语 http://www78564.xrbh.cn/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新资讯
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新资讯
点击排行
网站首页  |  二维码  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号