条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的,因此如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生。
举个例子,很多web程序都会有上传文件的功能,头像和图像等,服务器肯定会检查文件是否满足条件,不满足的要被删除。
那么问题就在于,如果我们采用大量的并发请求,就传递一个生成恶意webshell 的图像,访问它就可以生成webshell。在上传完成和安全检查完成并删除它的间隙,攻击者通过不断地发起访问请求的方法访问了该文件,该文件就会被执行,并且在服务器上生成一个恶意shell 的文件。
至此该文件的任务就已全部完成.至于后面发现它是一个不安全的文件并把它删除的问题都已经不重要了,因为攻击者已经成功地在服务器中植入了一个shell文件,后续的一切就都不是问题了。