CSRF漏洞

news2024/11/28 4:52:29

前言

作者简介:不知名白帽,网络安全学习者。

博客主页:不知名白帽的博客_CSDN博客-网络安全,CTF,内网渗透领域博主

网络安全交流社区:https://bbs.csdn.net/forums/angluoanquan

目录

CSRF漏洞原理

CSRF常见分类

GET型

POST型

CSRF危害

CSRF防御

CSRF常见利用手法

bWAPP

Change password

Change secret

Transfer amount

Pikachu

CSRF GET

CSRF POST

CSRF TOKEN


CSRF漏洞原理

CSRF(跨站请求伪造),是一种对网站的恶意利用。通过伪装受信任用户的请求来利用受信任的网站

 

CSRF常见分类

GET型

仅需要一个HTTP请求,就能构造一个简单的CSRF

在访问危险站点B之前,已经登录受信任网站A,访问了一个合法的请求,但是此请求已经被黑客利用

POST型

构造自动提交的表单,诱导受害者访问或点击

CSRF危害

更改账号信息,权限,货币等

获取用户的隐私数据

配合其他漏洞攻击

CSRF防御

验证http referer字段

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

在http头中验证自定义属性

CSRF常见利用手法

bWAPP

Change password

 

修改密码,BP抓包,发现get传参,尝试创建CSRF的POC

 

CpoyHTML,并新建一个HTML文件,将密码修改为user

 

 

点击 sumbit request,发现密码被成功修改

 

 

登出后,利用新密码(user)重新登陆

 

Change secret

 

同理,BP抓包,修改secret值

 

同理,构造CSRF的POC,并修改部分参数,更加诱惑用户点击

 

 

Transfer amount

 

 

BP抓包

 发现为get请求,可以url构造成一个短链接

触发链接,发现少了200 EUR

 

Pikachu

CSRF GET

 

BP抓包,发现为GET型

 

因此修改URL,构造payload,将性别修改为girl

http://127.0.0.1/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=18626545453&add=chain&email=vince%40pikachu.com&submit=submit

payload太过于明显,继续构造成短链接

 

用在在登录网站的情况下,访问该链接,则会造成CSRF

 

CSRF POST

 

BP抓包,发现为POST型

 

使用CSRF POC构造html

 

将手机号码改为12345678910

 

将此html文件,发给用户,诱导访问

 

 

CSRF TOKEN

Token验证原理:

CSRF的主要问题是敏感操作的链接容易被伪造

每次请求,都增加一个随机码(需要够随机,不容易伪造),后台每次对随机码进行验证

网页接受从后台发过来的token,类型不可见。将其一并提交给后台进行验证。每次刷新,后台发送过来的token都不一样,起到了防止伪造的作用。

分析代码:

修改用户信息时,服务器会比较url中的token字段和session中的token字段,如果相同才能修改用户信息。

修改完用户信息之后,会用set_token()函数生成新的token,将其返回到html表单中并隐藏起来,以便下次用户修改信息时代入url。

 

 

我们使用BP自带的CSRF Token Tracker

Extender -- Bapp store -- CSRF Token Tracker

 

安装之后,设置IP和变量名,并勾选参数

 

直接抓包,发送到repeater

发现第一次失败,继续点击send

 

信息修改成功

 

点击Follow redirection,进行重定向

刷新原页面

 

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

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

相关文章

GIT版本控制常规性操作演示汇总

文章目录 GIT基本操作GIT配置个人信息配置:GIT查看个人信息配置:GIT的三大区域GIT回滚:git resetGIT恢复日志:git reflogGIT三大区域转换GIT新建分支GIT合并分支GIT删除分支码云上创建项目GIT变基:git rebase合并提交记…

轮询-实时调用接口

https://www.cnblogs.com/zhangliang88/p/16254460.htmlhttps://www.cnblogs.com/zhangliang88/p/16254460.html

软件测试 | Selenium对多浏览器处理

在执行自动化测试过程中,我们往往会针对不同的浏览器做兼容性测试,可以通过对测试用例代码的改造,实现对不同浏览器的自动化兼容性测试。 注:实现对不同浏览器的自动化兼容性测试,需要先将各个浏览器的驱动在PC端配置…

基于PyQt5的桌面图像调试仿真平台开发(15)图像融合

系列文章目录 基于PyQt5的桌面图像调试仿真平台开发(1)环境搭建 基于PyQt5的桌面图像调试仿真平台开发(2)UI设计和控件绑定 基于PyQt5的桌面图像调试仿真平台开发(3)黑电平处理 基于PyQt5的桌面图像调试仿真平台开发(4)白平衡处理 基于PyQt5的桌面图像调试仿真平台开发(5)…

AMEYA360:尼得科nidec恩布拉科变频压缩机介绍

能源安全、能源价格方面的挑战与气候危机交织 提高能源效率比以往任何时候都更为紧迫。 能源效率是应对当今全球能源危机的核心 也是能源价值创造的重要体现。 尼得科恩布拉科大金 带来制冷方面的节能研究 LMSEY系列冷库一体机使用变频调速可 节能约14%! 全球制冷技术供应商、尼…

浅谈配电能效平台在城市地下综合管廊的应用

摘要:电气设计是综合管廊设计的重要组成部分,文章对综合管廊的断面设计、供配电系统和缆线设计进行了分析阐述,并结合设计案例,简要总结了综合管廊电气设计要点。 关键词:综合管廊;断面设计;供配电系统;缆…

微信小程序如何进行开发?

文章目录 0.引言1.注册微信公众平台账号2.准备微信开发者工具3.创建微信小程序并预览 0.引言 笔者编程一般编得较多的是桌面软件,有时也会编手机软件,这些软件都必须安装才能使用,这限制了软件的推广。而现有社交软件如微信使用得较广泛&…

使用GitHub Actions 来进行项目远程服务器部署

由于项目源码是托管在github的,而部署是放在远程服务器上,并且使用nginx部署。 现在的部署流程时,需要更新时,在本地切换到master分支,执行构建操作,拿到构建出的dist目录,将其上传到远程服务的…

从GitLab拉取并运行项目

从GitLab拉取并运行项目 序Git项目运行运行报错 总结教训 序 搭建好前端基础环境后,开始尝试从单位项目组拉取项目尝试本地运行。 Git Git相关配置:一篇学会Git版本管理 先申请Git账号,随后由上级分配权限拉入该项目组。 通过git clone ……

年终奖大幅缩水,是去还是留?

一、年终奖的历史和意义 互联网行业是中国经济发展的一个重要支柱,这也使得互联网公司的年终奖一直是许多从业者最为关注的话题之一。随着行业的不断发展,互联网公司的年终奖也在不断提高,逐渐成为了企业吸引和留住人才的重要手段。在互联网…

基于archlinux的mabox-linux桌面系统,内存资源消耗只有278M!

今天安装了基于archlinux的mabox-linux桌面系统,内存资源消耗只有278M!实在是惊到我了。先上图,改天有空再深入体验一下。 安装后发现没有1920X1080这个分辨率,设置的命令如下: 一,xrandr #查看本机支持的…

短期面试突击攻略大全!2023最全Java面试题目合集

这两年的面试难度确实要比往年高处很多。很多小伙伴投递了上千份简历,只有几家公司约面试。排除个人简历的因素,这在往年都是不太常见的。 大厂缩招,于是很多往年能进大厂的人只能去卷中小厂,搞得层层内卷。 比如往年能有一万个人…

旅游卡分销小程序开发

旅游业的不断发展,旅游卡分销小程序成为了越来越多旅游公司的选择。旅游卡分销小程序是一种在线分销平台,它允许游客购买旅游卡并分销给其他人,从而获得佣金。本文将探讨旅游卡分销小程序的开发。 一、确定旅游卡分销小程序的需求 在…

低代码平台能友好的融入到toB项目中吗?

低代码平台通常可以友好地融入现有toB的交付项目中。虽然低代码平台和传统的高代码开发具有不同的开发方式和工具集,但它们可以在同一个项目中协同工作,互相补充,那么实现能配置的尽可能配置化,配置不出来的就手写。 对于普通IT项…

.Hex文件直接解析的实现_PIC芯片

1.问题 bootloader写成后,需要处理传送过来的.Hex,或者等价的文件的烧录。MicroChip官方并未给出一个.Hex转为.Bin的处理策略。在它的Bootloader代码中,我们可以大致看到它的实现机制,它定义了一组命令。上位机在处理升级时&#…

基于FreeRTOS的嵌入式设备管理关键技术研究及实现(学习六重要)

差分升级算法研究及改进 文件差分算法通过对不同文件的片段进行对比查找差异,将差异描述输出为差分文件。 差分算法是差分升级的关键技术,因此,差分算法的性能决定着整个升级系统的性能。 差分算法研究 差分更新又称为增量编码&#xff0…

yarn介绍与说明

1.介绍 说明:Yarn 是一个由 Facebook、Google、Exponent 和 Tilde 公司联合推出的新一代 JavaScript 包管理工具,用于取代 npm。与 npm 相比,Yarn 可以更快地下载依赖,更好地管理依赖版本,更稳定地构建依赖关系。 2.…

AWVS扫描工具使用教程

AWVS是一款Web漏洞扫描工具,通过网络爬虫测试网站安全,检测流行的Web应用攻击,如跨站脚本、sql 注入等。据统计,75% 的互联网攻击目标是基于Web的应用程序。 AWVS的主要功能模块 Blind SQL Injector:盲注工具 HTTP E…

单元测试报错 No tests found for given includes: [StudyApplicationTests.contextLoads]

当你运行单元测试报错No tests found for given includes: [StudyApplicationTests.contextLoads] 如下: 可能是因为你的gradle测试默认使用的是以gradle启动,改成以IDEA启动即可

力扣 64. 最小路径和

文章目录 题目描述解题思路 题目描述 https://leetcode.cn/problems/minimum-path-sum/ 解题思路 问题类型&#xff1a;动态规划 private int MinPathSum(int[][] grid) {for (int i 0; i < grid.Length; i) {for (int j 0; j < grid[i].Length; j) {if (i 0 &am…