文件上传Upload 漏洞挖掘思路
1:尽可能多的找出网站存在的上传点
2:尝试使用如上各种绕过方法
3:尝试 geshell
4:无法上传webshel的情况下:
尝试上传html等,或可造成存储XSS漏洞
上传点构造XSS等,结合上传后的页面显示,或可形成XSS漏洞
上传思路:
1:尽可能多的找出网站存在的上传点
2:尝试使用如上各种绕过方法
3:尝试 geshell
4:无法上传webshel的情况下:
尝试上传html等,或可造成存储XSS漏洞
上传点构造XSS等,结合上传后的页面显示,或可形成XSS漏洞
1.文件名大小写绕过
用 AsP pHp之类的文件名绕过黑名单检测
2.名单列表绕过
用黑名单里没有的名单进行攻击,比如黑名单里面没有asa或者cer之类
3.0x00截断绕过
name=getname(httprequers)//若此时获取的文件名为test.asp. jpg(asp后面为0x00)
type= gettype(name)//而在 gettype0函数里处理方式是从后往前扫描扩展名,所以判断为jpg
if(type==jpg)
SaveFileToPath(UploadPath.name,name)//这里是以0×00作为文件名截断,最后以test.asp存入路径里
4. htaccess文件攻击
配合名单列表绕过,上传一个自定义的 htaccess
//(.htaccess文件(或者"分布式配置文件")提供了针对目录改变配置的方法)
如:
Addtypeapplication/x-httpd-phpjpg
Add Handler php5-script php
5.解析调用/漏洞绕过
直接上传—个代码注入过的非黑名单扩展名,再利用解析漏洞达到上传攻击的目的。
上传点可能引发的其他类型的漏洞
1:是否有反射型XSS/SQL/RCE
例
filename="x<svg+onload=alert(/x/)> 111.png"