文件上传绕过总结

 

文件上传过滤手段主要分为三种

前台js验证

检查后缀(分黑白名单两种方式)

解析文件内容

 

突破文件上传限制首先需要判断使用了哪种过滤手段

 

 

对于前台js验证直接burp抓包改后缀即可,或者直接删除验证代码

 

如果是检查后缀需要先判断使用的是黑名单还是白名单机制

如果碰到黑名单,可以尝试使用特殊后缀绕过,如phtml,php3,php4等,也可以上传.htaccess修改解析以及windows下文件名后缀不能存在.和空格以及::$DATA的特性进行绕过

还有就是中间件的漏洞,如iis和apache的上传解析漏洞等

当检查机制为白名单时,就只能尝试burp抓包修改文件的MIME或者检查savepath的路径是否可控从而进行00截断上传文件

需要注意的是在对savepath进行00截断时,传参方式如果为GET那要对00进行url编码即%00,传参方式为POST时则直接修改Hex为00

举例

GET

save_path= ./upload/payload.php%00

POST

save_path=./upload/payload.php□

 

如果对文件内容进行检查了话,一般来说直接使用图片马就能绕过,不过记得对一句话木马进行一定的混淆

 

另外附上一个适合练习文件上传漏洞的靶场-Upload-lab,这里面基本覆盖了大部分文件上传漏洞的类型

github项目地址:https://github.com/c0ny1/upload-labs

 

 

 

 

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注