双文件上传:
应用场景:
南方/良精CMS
正则默认匹配第一个filename的情况下
利用原理:
服务端默认取第⼆个⽂件作为真正的上传⽂件,但是在检测时只检测了第⼀个⽂件。或者只验证了第⼀个filename 的拓展名。
利用方法:
直接在审查元素中添加一个上传表单(就是在查看器当中将文件上传的那部分代码再copy一遍到它的下面一行,之后在上传的时候,第一个文件为正常文件,第二个就可以是我们的恶意文件)
burp抓包之后在数据包中添加(抓包成功后,将上传的文件部分所有内容或者文件头部分copy一遍到这个文件上传部分后面)
竞争上传:
应用场景:
访问webshell的时候,短时间内可以访问到,再次访问就访问不到了
利用原理:
代码逻辑为:先将⽂件上传到服务器,然后检测后缀名,如果不符合再通过unlink删除⽂件,因此可以通过条件竞争 的⽅式在unlink之前,访问webshell。
利用方法:
使用burp suite不停的上传,同时利用python脚本不停的访问上传的文件。(上传shell0.php文件,burp抓包后发送到intruder,修改参数,设置payload,让test.py脚本跑起来,最后start attack )