一、特点:
1.1、特征:
文件上传功能点
1.2、语言:
首先看见是java语言
1.3、正常上传的数据包:
目前:
手动测试:
1、发现会对 filename和Content-Type进检测
所以上传正常图片文件+木马代码
上传成功,且返回了文件路径
包含木马的图片
2、上传的图片可以访问
问题:
1、判断检测类型(黑名单、白名单)
黑名单可以尝试替换
aspx&asp:ashx、asa、asmx、cer
php: php3、phtml
jsp:jspx、jspf
2、判断拦截工具
3、尝试绕过方法
二、判断
2.1、判断检测类型
先假设是黑名单
上传一个不可能在黑名单里面的文件(例如tx)
上传失败,反之则可能是白名单了
2.2、判断拦截工具
wafw00f 加上URL
显示没有waf,那就是代码检测了
三、绕过
1、垃圾数据+换行
2、 尝试java里面的注释符/**/和//
放在各种位置
3、截断符%00,和0x00(16进制)
截断失败
无效文件名
4、参数混淆
这里是filename参数(尝试加了很多,检测的是最后一个参数,失败)
5、编码
尝试了URL、unicode……编码都失败
6、在数据包中,再添加一个上传的文件,同时上传多个文件
两个完整的post数据
正常文件放在第二位置时,失败
正常文件放在第一位置时,失败
(一次可能只能一个文件上传)
(1)、在一个上传post数据包里面
(正常文件名的放在木马文件下)
重复一个正常的
Content-Disposition: form-data; name="file"; filename1="7c68c546c165411899ea2f401d192b24.jpeg"
Content-Type: image/jpeg
(还是检测第一个非正常的jsp文件)
(2)(正常文件名的放在木马文件上)
也不行
(应该是只能上传一个)
7、条件竞争
(不建议尝试)