【漏洞挖掘】——81、文件上传之代码检测逻辑绕过
文件上传的检测代码常规的有:黑名单、白名单、文件内容等检测方法,也有一种设计模式就是业务层会首先将文件上传到服务器,之后才会去判断文件的格式,如果通过检测则使用rename修改名称,如果不通过则使用UNlink删除文件,这种设计看似没有问题,但是可以通过条件竞争的方式在unlink之前访问webshell。以上代码先将文件上传到服务器之后判断文件的格式,如果通过检测则使用rename修改名称,如果不通过则使用UNlink删除文件,这里存在条件竞争风险。之后Attack并不断的请求shell.php。