1.前言
本次靶场来源于hack the box 的 Diogenes’ Rage 来过程展示条件竞争漏洞,帮助入门学习网络安全的同学了解更多渗透技能
2 什么是条件竞争漏洞
了解网络安全技能,必须得先知道这些手段是什么意思,才好下一步了解。条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的,开发者在进行代码开发时常常倾向于认为代码会以线性的方式执行,而且他们忽视了并行服务器会并发执行多个线程,这就会导致意想不到的结果。简而言之,就是并没有考虑线程同步。如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生。
举个例子
同一时间去完成一件事情导致系统数据出现错误。 比如说,某网站有抢购功能, 正常情况下,一个人只能抢购一次。当出现同一时间内同时点击了两次,那么就造成一个人抢购了2次。生成了2条订单。
3 漏洞的危害
- 数据不一致:由于多个线程同时访问共享数据,可能导致数据的不一致性。
- 资源耗尽:如果多个线程同时访问有限的资源,如数据库连接,可能会导致资源耗尽,影响系统的性能。
- 安全问题:条件竞争漏洞常常被黑客利用,导致拒绝服务攻击、恶意代码执行等安全问题。
4.实战过程
首先打开进入到靶场 Diogenes’ Rage,我们可以看到以下页面:
4.1 信息收集
从页面上我们可以看到信息有:人、自助贩卖机、按键、投币口、优惠价、猫
4.1.1 页面信息
表面上看重点在于自助贩卖机。 人和猫没啥用。尝试操作按键按不动,只有将优惠券移动到投币口才能点击。放入优惠券只有一美元的优惠券,看来我只能买1美元以下的东西。优惠价使用后无法继续使用,重置将删除掉用户信息。