业务逻辑漏洞(靶场) fiddler

news2025/6/28 14:27:33

目录

fiddler简介:

业务逻辑漏洞:

fiddler下载

靶场:

实验一

​编辑实验二(ps 更改实验url会变,fiddler没抓到东西看看代理改没改)

实验三

实验四


fiddler简介:

一款网络抓包工具,和burpusite是一个东西,使用上也大差不离,为了防止bp出现问题使用一款其他工具介绍,并且fiddler免费(虽然bp破解版已经烂大街了)。ps(正常情况用bp就行,功能会比fiddler强)

业务逻辑漏洞:

由于开发人员开发的逻辑出现了问题,出现逻辑缺陷,导致他人可以通过篡改数据包的内容完成越权。(ps:越权指一个普通用户可以通过漏洞成功越过网页的防护,以管理员的权限执行相关命令)逻辑缺陷对于没有明确寻找它们的人来说通常是不可见的,因为它们通常不会通过正常使用应用程序而暴露出来。但是,攻击者可能能够通过以开发人员从未想过的方式与应用程序交互来利用行为怪癖。从根本上说,任何逻辑缺陷的影响都取决于它与什么功能相关。例如,如果缺陷存在于身份验证机制中,则可能会对整体安全性产生严重影响。攻击者可能会利用此漏洞进行权限提升,或完全绕过身份验证,从而访问敏感数据和功能。

fiddler下载

官网下载并安装

Download Fiddler Web Debugging Tool for Free by Telerik

靶场:

这里使用burpusite的一个靶场来进行实验,里面靶场的东西也挺多。

实验室:高级逻辑漏洞 |网络安全学院 (portswigger.net)

实验一

进入实验环境(也就是上面的连接)ps(这里edge自动翻译成中文,原本是英文的~ and 这些溶液都有解题流程,实在不会直接看)

靶场页面

进入后,先对fiddler进行设置 下面这个是fiddler下载使用后出现的界面,根据图标1,2,3,4按顺序点,先配置个代理,将其网址设置成靶场(就是靶场的url,去掉\和http://)的。这样的好处便是后续传到fiddler的流量都会是该靶场内的流量,而不会被其他网站所影响。配完点击action后,选择run使其生效。

登录了靶场给的账号后,发现该账号只给了100块钱,而实验目的则是买到那件1k块钱的夹克

下面这图是加入购物车后的 明显买不起

因此,返回home界面,选中那件夹克,点击add,发现夹克已经进入到购物车中,且左边的fiddler成功抓到了数据包。(fiddler中,ctrl+x是清除历史数据(选中数据包,按快捷键后就能清除),我抓这个包之前清过,所以才看到这么点数据包)

抓到数据包后,点击想查看的数据包,再点击这个inspectors,再点击raw就可以看见数据包内的相关的数据(相当于bp直接抓的),可以发现里面看起来比较有用的就这个post和get两个请求包,一个返回重定向状态码302,一个则是直接返回了成功200,通过观察这个post请求包,可以发现这个包就是加完购物车一瞬间得到的请求,里面还有产品数量以及产品id两个信息,而这个get请求则是添加完购物车后返回的前端信息界面。

从上面这个数据包可以发现商品id,以及数量此时就可以考虑能不能通过拦截这个包,更改这两玩意,从而看看情况如何。而更改id直接换商品了,似乎不太行,可以先考虑改一下后面的数量。该成一个-1看看。

这里红色的那个地方是端点,相当于bp的拦截,可以拦截住这个包进行更改。那个地方原来是白的,点一下是一个向上的红色箭头,再点一下是一个向下的箭头,这是fiddler的两种断点模式。一般用第一种就行(ps:点第三下就是关掉拦截,正常发行)拦截住包进行更改。拦截的时候会拦截好多个没用的包,点这个绿色的run将其放行,直到想要的包出现(那些没用的包要全部放掉哦,知道post出现改完即可关闭断点了)。

将数量改成-1,关闭断点放行

发现购物车变成个-1,结账下看看

出现个提示,总价不能低于0,这时可以想着再搞些别的产品的东西加上,让总价超过0(要是真能碰到还能多买点别的,很不错)

随便选个产品,把总价加上去。

购买成功,此时应该会弹个flag(之前做过了,没有辣,虽然正常情况也不太可能出现负数,但这就是个由于开发疏忽,可以使用负数,导致的逻辑漏洞。)此外,这个请求头当中是有出现cookie的,但这个靶场没做的很严格,不需要对cookie做什么操作,但如果真实环境真的有幸能碰到这种洞建议是把cookie带上。

实验二(ps 更改实验url会变,fiddler没抓到东西看看代理改没改)

还是那么一个页面,直接登账号,抓包看看什么个事

似乎更离谱了,貌似能直接改价格。

抓包直接改价格

0.0.1直接购买(ps 这些数量也都是可以改的,改完后看看get的请求是否变成修改后的样子(忘截图了))

实验三

可以看到这个靶场变了,没有什么购物的信息。再加上提示,可以直接登录账户看看情况。

登录后发现能改密码,直接改

改完后发现没什么作用,忽然反应过来是要根据逻辑漏洞去更改administrator的密码,因此对改密码这个按钮设置断点抓包。

抓到包后得到数据,将username更改成administrator,这时看到旁边有个current password,但是咱有不知道这个administrator的密码是多少。

这时想了一下,如果不知道那就不写了,直接把这current-password删了。

发现照样更改成功。

通过刚才修改的密码登录administrator

成功登录

选中admin penel 删除carlos即可

实验四

ps(这个虽然在身份验证漏洞里,但也算个逻辑漏洞)

登录自己的账号后,发现给了个邮箱地址,还看到上边有个email client的标签,这两估计是有联系的,因此将这个网址复制下来,点下那个email client看看(虽然已经说了是改密码那,但还是按照正常流程玩一遍)

登进来发现直接提示自己的邮箱信息了,上面两个一个返回实验室,另一个是个正常的响应,似乎没啥用,因此考虑退出账号,再点下这个看看情况。

发现也是上面这个界面,但这时发现这边有个忘记密码的按钮,点一下看看

发现需要输入邮箱地址,把刚刚那邮箱弄进去

发现提示一个重置密码的链接发送到了这个邮箱中

点进去发现是个修改密码的东东。根据前面实验提示,需要对这个carlos用户进行重置,因此在这里输入新密码后抓个包,

发现这个username直接给出来了,因此改一下这名字,看看情况。

改完后松开断点,登录。

成功登录。

这个靶场后面的东西都可以自己去玩玩,溶液那的提示也挺明显的

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

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

相关文章

如何丝滑地切换node版本

背景 由于有些比较老的系统,使用的node版本较低,本机装的node版本又比较高,不想降node版本,那么就需要考虑能不能在系统里管理多个node版本呢?由于我使用的操作系统是Mac,下面将主要讲解如何在Mac上快速切…

Tmux 使用笔记

Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。 本文记录个人使用 Tmux的命令。 1. tmux简介 命令行的典型使用方式是,打开一个终端窗口,连接计算机,在里面输入…

LeetCode-热题100:148. 排序链表

题目描述 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入: head [4,2,1,3] 输出: [1,2,3,4] 示例 2: 输入: head [-1,5,3,4,0] 输出: [-1,0,3,4,5] 示例…

探索未来产业:新技术、新商业、新趋势

引言 随着科技的迅速发展和全球经济的不断变化,未来产业已经成为全球关注的焦点之一。未来产业的兴起不仅代表着新的商业机遇,更是对传统产业模式的颠覆和重构。在这个充满挑战和机遇的时代,我们不得不认真思考未来产业的重要性和前景。 未…

现在软考考什么科目最好?

适合你的学科才是最适合你的学科。 在软考的同一级别,证书的价值差不多。只能说有些学科比较受欢迎,需求量比较大。 中级的系统集成项目管理工程师是最受欢迎的考试科目,其次是软件设计师和网络工程师。由于市场需求大,报考人数也…

gradio简单搭建——关键词匹配筛选【进一步优化】

gradio简单搭建——关键词匹配筛选[进一步优化] 任务回顾新的想法:无效元素筛选界面搭建数据处理与生成过程交互界面展示 任务回顾 在 apply \text{apply} apply方法的使用一节中,简单提到了任务目标:通过关键词的形式,在文本数据…

DNS 各记录类型说明及规则

各记录类型使用目的 记录类型使用目的A 记录将域名指向一个 IP 地址。CNAME 记录将域名指向另一个域名,再由另一个域名提供 IP 地址。MX 记录设置邮箱,让邮箱能收到邮件。NS 记录将子域名交给其他 DNS 服务商解析。AAAA 记录将域名指向一个 IPv6 地址。…

VMware vSphere虚拟化基础管理平台

VMware简介 VMware介绍 官网:https://www.vmware.com/cn.html VMware公司成立于1998年,2003年存储厂商EMC以6.35亿美元收购了VMware;2015年10月,戴尔宣布以670亿美元收购EMC。VMware公司在2018年全年收入79.2亿美元。 VMware主…

20240326-1-KNN面试题

KNN面试题 1.简述一下KNN算法的原理 KNN算法利用训练数据集对特征向量空间进行划分。KNN算法的核心思想是在一个含未知样本的空间,可以根据样本最近的k个样本的数据类型来确定未知样本的数据类型。 该算法涉及的3个主要因素是:k值选择,距离度…

AOF文件重写

1.2.3.AOF文件重写 因为是记录命令,AOF文件会比RDB文件大的多。而且AOF会记录对同一个key的多次写操作,但只有最后一次写操作才有意义。通过执行bgrewriteaof命令,可以让AOF文件执行重写功能,用最少的命令达到相同效果。 如图&am…

SolidWorks上手直接开整

本科学3D建模的时候,学习过犀牛Rhine,当时就惊叹于入籍紧密集成的可视化编程环境,后来又简单学习过了3DMax、Maya,平时使用的频率不多,所以还是初学者水平,现在课题组需要自研一个原型机,需要工…

图片管理系统:原理、设计与实践

title: 图片管理系统:原理、设计与实践 date: 2024/4/9 20:04:25 updated: 2024/4/9 20:04:25 tags: 图片管理存储组织上传采集处理编辑搜索检索展示分享AI应用 第一章:图片管理系统概述 1.1 图片管理系统简介 图片管理系统是一种用于存储、组织、处理…

Redux和Redux Toolkit

Redux 概念:redux是react最常用的集中状态管理工具,类似于Vue中的Pinia(vuex),可以独立于框架运行作用:通过集中管理的方式管理应用的状态 Redux快速体验 不和任何框架绑定,不使用任何构建工具,使用纯Re…

kali linux 安装 VirtualBox for Linux Hosts

sudo vim /etc/apt/sources.list deb [archamd64] https://download.virtualbox.org/virtualbox/debian buster contrib添加源文件 sudo apt update sudo apt install linux-headers-$(uname -r) dkms sudo apt install virtualbox virtualbox-ext-pack 扩展包 echo "d…

干货分享|JumpServer三种常见的文件传输方式效果对比

JumpServer开源堡垒机支持对文件的上传和下载,并对传输记录进⾏审计。JumpServer的文件传输功能是用户使用频率较高的功能,常见的文件传输方式包括:rz和sz命令方式、文件管理方式和客户端工具方式。 在使用JumpServer进行文件传输的时候&…

【SpringBoot3】Bean管理

1.Bean扫描 1.1传统Spring 标签&#xff1a;<context:component-scan base-package"com. example "/>注解&#xff1a;ComponentScan(basePackages "com.example") 1.2SpringBoot SpringBoot默认扫描启动类所在的包及其子包 2.Bean注册 如果要注…

Qt 多窗体

前言 在 Qt编程中经常会遇到要在多个界面之间切换的情况&#xff0c;如从登录界面跳转到主界面&#xff0c;从主界面跳转到设置界面&#xff0c;再返回到主界面。我们将会用一个简单的示例来实现多窗体功能。 登录窗口 创建基类为QMainWindow&#xff0c;类名为LoginWin。再使用…

手机放枕边真的很危险吗

从小我的妈妈就告诉我&#xff1a;睡觉的时候手机放枕头边上&#xff0c;辐射会对身体有害&#xff0c;但事实真是这样吗&#xff1f; 首先只要是会发热的物体就都有辐射&#xff0c;但是手机的辐射是电磁辐射&#xff0c;对人无害&#xff0c;它造成的电磁辐射甚至没有太阳造…

【Figma】安装指南及基础操作

先前做UI设计一直都是用PS等绘图软件设计&#xff0c;但发现在纠结像素和排版问题上会花很多时间&#xff0c;再加上AI没来得及上手&#xff0c;就需要迅速出成图&#xff0c;此时通过论坛发现了figma&#xff0c;基本上可以满足足够的需求&#xff0c;并且可以在windows系统上…

编译器如何理解C++的指针和引用?

初学引用时&#xff0c;往往很难真正理解引用&#xff0c;它与指针究竟有什么区别和联系。下面我们不妨看看编译器如何理解引用和指针的。 一.函数通过指针传参 1.1 示例代码 #include <iostream>using namespace std;void swap(int *x,int *y)//指针传参 {int tmp;t…