目录
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直接给出来了,因此改一下这名字,看看情况。
改完后松开断点,登录。
成功登录。
这个靶场后面的东西都可以自己去玩玩,溶液那的提示也挺明显的