csrf与xss差别 别在弄乱了 直接靶场实操pikachu的csrf题 token绕过可以吗???

我们现在来说说这2个之间的关系,因为昨天的我也没有弄清楚这2者的关系,总感觉迷迷糊糊的。

xss这个漏洞是大家并不怎么陌生,导致xss漏洞的产生是服务器没有对用户提交数据过滤不严格,导致浏览器把用户输入的当作js代码返回客户端进行执行,这样就导致了攻击。

xss(跨站脚本攻击)可以说简单一点前端js代码可以干什么我们就可以干什么,我们可以获取到用户的cookie,获取键盘记录,钓鱼等等的操作

我们来说说csrf这个漏洞
csrf(跨站请求伪造)这个是利用用户的cookie来进行恶意的操作,我们举一个例子

小白有错????

小白在登录了网上某银行的网站,准备进行给女朋友小红进行转账,这个银行的接口存在csrf这个漏洞,在小白转账的时候,我(hack)给小白发了一个钓鱼邮件,小白看见邮件有美女图片就点击进去看看,然后在点击的时候,我就通过这个漏洞用银行转账系统给我自己转了88888元。当小白看完了美女图片过后,重新回去给女朋友转钱,一付款就提示余额不足,把小白给急到了。为此,小红还要跟小白分手。我们小白有什么错???不就是看看其他的网站吗???

其实通过上面的这个故事,就知道了,hack并没有拿到(明文)cookie,但是为什么就能当做正常的用户进行操作,这就是csrf了,它与xss不同的事,csrf不能获取到cookie,但是通过xss漏洞可以获取到对方的cookie信息。我在上面的故事中在小白访问的时候就加了一段js代码,当小白点进去过后,主页加载的是图片,但是恶意代码我在宽度和长度进行了隐藏,所以点击就给我的账号进行转钱的操作。这个可以通过bp帮你生成payload。 我后面在跟大家说怎么生成payload。

 csrf能进行伪造成正常用户进行登录,但是它的实现非常的严格,你要知道它在当前登录了哪些网站,是存在的crsf,而且当时它点击你的链接或者其他的图片的时候,它要是登录的状态。你要知道它是谷歌还是eg还是火狐来进行访问的,这些等等的操作。是不是感觉比较的严格

下面的这个是pikachu的post的payload

<html><!-- CSRF PoC - generated by Burp Suite Professional --><body><script>history.pushState('', '', '/')</script><form action="http://192.168.163.130/pikachu-master/vul/csrf/csrfget/csrf_get_login.php"><input type="hidden" name="username" value="lili" /><input type="hidden" name="password" value="123456" /><input type="hidden" name="submit" value="Login" /><input type="submit" value="Submit request" /></form></body>
</html>

在正常用户小白的眼里是正常的,就访问了一个图片是正常的操作,自己也没有输出账号和密码,为什么就被攻击了呢??也就是自己登录了那个网上转账的cookie然后在没有退出登录的时候,访问了攻击者构造的网站,就被莫名其妙的攻击了。

我们来看看pikachu的靶场,怎么进行伪造的,我们先看正常的用户:

进行登录操作:

进行抓包处理

生成你的payload,然后我们在对方的同样的浏览器进行访问操作

用户这边是登录进去了的,然后我们去攻击者那边得到的payload看是怎么实现

点击登录的框就以及冒充用户登录了它的账号了。

这个时候我们想干什么就干什么,如果是xss的话还可以这样:

我们可以获取它的键盘信息,如果用户输出的有自己的支付密码或者登录密码账号等等,都是可以获取到的。

get方式也可以使用bp工具帮你获取,其实还有一个自动化的工具可以帮你找到这点是不是存在csrf的漏洞,但是我还没有运行起,我弄好了会发出来的。

 

然后我们在来试试token的绕过,我们要想要找到token是比较难,我们不知道它的哪给字段里面隐藏起来的,然后我们该怎么办,我们要使用bp工具

还是pikachu靶场

 登录到表面过后,然后不是可以进行修改操作吗,我们在进行抓包的操作

然后发现包中有token这个值

我们就要下一个插件来帮助我们进行找重定向的token

先开始是没有的,我是测试过后然后有的token,然后我们就可以进行改参数了,随便操作了。

前面是抓包还没有放的,然后放包进行操作。

成功下班!!!!!

防御方法:

http中的referer字段可以知道是从哪进行请求的(可以进行绕过)

加入验证码或者token

token是这样的验证的,用户登录过后,服务器会自己存token值在session中然后客户端的token在隐藏的字符中(这个说不定在哪)

然后用户进行访问的时候会带着token来进行访问,如果token与服务器存放的不一样,那么就帮你进行访问,用户退出,session没了,然后token也没了。

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

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

相关文章

区间预测 | Matlab实现LSTM-ABKDE长短期记忆神经网络自适应带宽核密度估计多变量回归区间预测

区间预测 | Matlab实现LSTM-ABKDE长短期记忆神经网络自适应带宽核密度估计多变量回归区间预测 目录 区间预测 | Matlab实现LSTM-ABKDE长短期记忆神经网络自适应带宽核密度估计多变量回归区间预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现LSTM-ABKDE长…

centos7安装字体

1.安装命令 yum install fontconfig #字体库命令 yum install mkfontscale #更新字体命令2.安装字体&#xff08;注意权限问题&#xff09; 进入目录 /usr/share/fonts &#xff0c;该目录是 centos7 字体库的默认安装目录。在该目录下创建一个文件夹 ekp &#xff08;名字…

基于NodeJs 的Vue安装和创建项目

基于NodeJs 的Vue安装和创建项目 一、Node.js的下载与安装 下载地址&#xff1a; https://nodejs.org/en/download/prebuilt-installer 安装完之后&#xff0c;启动 cmd命令行&#xff0c;验证 Node.js 是否安装成功 二、配置npm的全局模块的存放路径以及缓存的路径 注&…

Junit 单元测试 详解,包你掌握

Java单元测试----Junit详解 1 什么是 Junit JUnit 是一个广泛使用的 Java 单元测试框架。它用于编写和运行可重复的测试&#xff0c;以验证 Java 程序的行为是否符合预期 也许有人会好奇&#xff0c;之前学的 Selenium 和 Junit 有什么关系&#xff1f;答案就是没关系&#…

debian12安装时分区方案

一、初次尝试 一共设置了4个分区&#xff0c;其中根目录/分区46G&#xff0c;swap分区10G&#xff08;电脑内存为6G&#xff09;&#xff0c;/boot分区200M&#xff0c;/home分区55G。系统安装之后的实际占有情况为&#xff1a; 二、调整后情况 一共设置了4个分区&#xff0c…

基于Simulink的双端行波测距

1 输电线路故障仿真模型 基于双端行波测距理论&#xff0c;在MATLAB软件中搭建的三相50Hz的输电线路故障仿真模型如图1所示&#xff0c;该模型包含了三相电源、输电线路、故障发生器和示波器模块等。主要仿真参数设置如下:仿真时间为 0~0.1s,采用固定步长 10-7和ode3 算法&…

【手推公式】如何求SDE的解(附录B)

【手推公式】如何求SDE的解&#xff08;附录B&#xff09; 核心思路&#xff1a;不直接求VE和VP的SDE的解xt&#xff0c;而是求xt的期望和方差&#xff0c;从而写出x0到xt的条件分布形式&#xff08;附录B&#xff09; 论文&#xff1a;Score-Based Generative Modeling throug…

LangChain4j实战

基础 LangChain4j模型适配: Provider Native Image Sync Completion Streaming Completion Embedding Image Generation Scoring Function Calling OpenAI ✅ ✅ ✅ ✅ ✅ ✅ Azure OpenAI ✅ ✅ ✅ ✅ ✅ Hugging Face ✅ ✅ Amazon Bedrock ✅ ✅…

Functional ALV系列 (09) - 双击跳转到另外一个ALV

在查看数据的时候&#xff0c;不总是只有一个界面&#xff0c;为了让用户更方便地查看数据&#xff0c;需要根据当前的数据跳转到另外的界面中&#xff0c;比如查看明细等。本文演示 ALV 比较实用的功能&#xff1a;双击 ALV 单元格跳转到另外一个 ALV 中。 要实现的业务场景&…

CTFHUB-技能树-web-信息泄露

目录 1.目录遍历 2.PHPINFO 3.备份文件下载 3.1 网站源码 3.2 bak文件 3.3 vim缓存 3.4 .DS_Store 4.Git泄露 4.1 Log 4.2 Stash 4.3 Index 5.SVN泄露 6.HG泄露 1.目录遍历 这个没什么好讲的&#xff0c;进去直接点击找flag,然后在下面目录翻&#xff0c;就找到了 …

晶振十大品牌

晶振是电路的心脏&#xff0c;特别对抖动、稳定度有要求&#xff0c;当然除了稳定度&#xff0c;抖动&#xff0c;还对环境温度有要求&#xff0c;优秀的厂商如下&#xff1a; 链接&#xff1a; 晶振十大品牌-晶振品牌-振荡器品牌-Maigoo品牌榜

最新下载:PDFFactoryFinePrint【软件附加安装教程】

简介&#xff1a; pdfFactory是一款无须 Acrobat 创建 Adobe pdf 文件的打印机驱动程序&#xff0c; 提供的创建 PDF 文件的方法比其他方法更方便和高效。 pdfFactory 支持从所有应用程序轻松、可靠地创建 PDF 文件。 支持将单页或两页的文档&#xff0c;直接打印为PDF文件&a…

VSFT匿名用户访问-设置

1、先备份配置档 cp -av /etc/vsftpd/vsftpd.conf{,_bak} 2、编辑配置档&#xff0c;修改以下参数 vim /etc/vsftpd/ vsftpd.conf anonymous_enableYES -----允许匿名用户访问 anon_upload_enableYES -----允许匿名用户上传 anon_mkdir_write_enableYES …

电子电气架构 ---车载安全防火墙

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

后台管理系统排序混乱,分页出现重复条例

检查了接口和请求参数都没有问题。 查询数据库发现是排序字段create_time 都相同导致的。没有区分度。 解决方案 按照唯一id排序 避免create_time 大批量相同 order by create_time &#xff0c;xxx 两个排序字段

搭建自己的组件库<2>dialog 组件

目录 设置title 插槽显示 控制宽高 关闭对话框 transition实现动画 引入深度选择器 同样创建组件dialogue.vue后全局注册 dialogue模版&#xff1a; <template><!-- 对话框的遮罩 --><div class"miao-dialog_wrapper"><!-- 真的对话框 …

The 18th Northeast Collegiate Programming Contest(5/9/13)

心得 赛中ac&#xff1a;5&#xff0c;目前ac&#xff1a;9&#xff0c;题目总数&#xff1a;13 中档可做题还是很多的&#xff0c;可惜遇到了难绷的queueforces&#xff0c; 最后15min才判出来&#xff0c;oi赛制5wa4遗憾离场&#xff0c;赛后把几个题都给调过了&#xff0…

Macbook M芯片JDK的安装

Macbook M芯片JDK的安装 下载 搜索zulu&#xff1b; 进入这个网址 https://www.azul.com/downloads/#zulu 进入页面后向下滑动 选择对应选项 然后点击Download进行下载。 选择.dmg格式的安装包&#xff0c;点击。 安装 下载完成后&#xff0c;到下载目录&#xff0c;双击…

MSPM0l1306——配置滴答定时器

我们配置好了滴答定时器之后&#xff0c;还要手动编写滴答定时器的中断服务函数&#xff0c;因为我们开启的滴答定时器的中断&#xff0c;当滴答定时器的计数值从我们设置的值减到0时&#xff0c;就会触发一次中断&#xff0c;触发中断就会执行中断服务函数。各个中断的中断服务…

【Spring Boot】异常处理

异常处理 1.认识异常处理1.1 异常处理的必要性1.2 异常的分类1.3 如何处理异常1.3.1 捕获异常1.3.2 抛出异常1.3.4 自定义异常 1.4 Spring Boot 默认的异常处理 2.使用控制器通知3.自定义错误处理控制器3.1 自定义一个错误的处理控制器3.2 自定义业务异常类3.2.1 自定义异常类3…