商务服务
CSRF跨站请求伪造原理及示例
2025-01-01 06:57

        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攻击。

    以上就是本篇文章【CSRF跨站请求伪造原理及示例】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/news/30739.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多   
最新文章
《4399游戏盒》解除手机绑定教程手机注册「《4399游戏盒》解除手机绑定教程」
很多小伙伴在使用4399游戏盒的时候,都是填写绑定了自己的手机号码的,那么当我们想要解除手机绑定的时候该怎么弄呢?下面小编就
华为Mate 30 RS保时捷设计评测保时捷手机「华为Mate 30 RS保时捷设计评测」
大家好,今天给大家介绍的是华为的年度旗舰机王 :Mate 30 RS保时捷设计版本,作为华为手机的年度旗舰机王,还是去了解一下这款
华为隐藏的3个翻译功能,居然如此好用,别浪费这么强大的手机手机翻译「华为隐藏的3个翻译功能,居然如此好用,别浪费这么强大的手机」
相信大家都知道我们的华为手机里面有很多黑科技功能,但是下面这几个你用过吗?接下来小编就带大家一起看看吧!希望可以帮助到你
LCD屏幕的手机算不算名存实亡了?手机屏幕「LCD屏幕的手机算不算名存实亡了?」
知乎有个用户提问:“现在已经很少LCD屏幕的手机了,我知道的几台LCD屏幕的手机都是千元机,应该算是线下手机,卖给老人用的,配
初中各科成绩满分多少
  1、一般地区:语文120分,数学120分,英语120分。物理,化学,政治,历史,各100分。总分760。  2、广州地区:语150,数15
OPPO手机怎么样?良心总结:2021最好的5款Oppo手机oppo手机怎么样「OPPO手机怎么样?良心总结:2021最好的5款Oppo手机」
在新的Find X3系列的帮助下,Oppo迅速成为手机领域的强大参与者,下面是我们精选的2021年最佳Oppo手机尽管Oppo可能没有华为,三
【原】从16999降至5988,华为发布旗下第6款,也是最便宜的折叠屏手机最便宜的手机「【原】从16999降至5988,华为发布旗下第6款,也是最便宜的折叠屏手机」
2019年2月,华为发布了旗下首款折叠屏手机——华为MateX,售价为16999元,是国内最早推出折叠屏手机的厂商,和三星几乎同步。在
三星2014智能手表 三星gear2智能手表 三星手表手机新款价格 三星智能手表测评新款三星手机「三星2014智能手表 三星gear2智能手表 三星手表手机新款价格 三星智能手表测评」
三星2014年的推出的Galaxy Gear 2是之前Galaxy Gear的更新版。相比前一代产品,Gear2和Gear2 Neo有着更为成熟的设计。下面一起来
充电手机爆炸起火:太恐怖了!手机充电爆炸「充电手机爆炸起火:太恐怖了!」
驱动中国2016年9月7日消息,最近的手机头条似乎都不太好,几件都和爆炸二字联系在一起,先是三星Note 7充电时爆炸消息引起热议,