#知识点:
1、白盒审计三要素
2、黑盒审计四要素
3、白黑测试流程思路
#详细点:
1、检测层面:前端,后端等
2、检测内容:文件头,完整性,二次渲染等
3、检测后缀:黑名单,白名单,MIME 检测等
4、绕过技巧:多后缀解析,截断,中间件特性,条件竞争等
#本章课程内容:
1、文件上传-CTF 赛题知识点
2、文件上传-中间件解析&编辑器安全
3、文件上传-实例 CMS 文件上传安全分析
#前置:
后门代码需要用特定格式后缀解析,不能以图片后缀解析脚本后门代码(解析漏洞除外)
如:jpg 图片里面有 php 后门代码,不能被触发,所以连接不上后门
如果要图片后缀解析脚本代码,一般会利用包含漏洞或解析漏洞,还
有.user.ini&.htaccess
白盒审计-Finecms-代码常规-处理逻辑
白盒审计-CuppaCms-中间件-.htaccess
白盒审计-Metinfo-编辑器引用-第三方安全
#白盒审计-Finecms-代码常规-处理逻辑
黑盒思路:寻找上传点抓包修改突破获取状态码及地址
审计流程:功能点-代码文件-代码块-抓包调试-验证测试
从上传文件分析,它将上传的信息放在了文件头部的位置;图片的内容以base64的加密形式存放在里面
此时我们只知道它的type信息:image:png,所以尝试能不能修改文件类型上传拍php
报错
白盒角度补充:但是查看文件时,发现只是文件的路径发生了变化,实际上php文件还是上传成功了
之前的
当修改type后的,php是成功上传的,就是文件的路径更改了,那对于黑盒基本就寄了
因此可以从中写入payload的
所以此漏洞属于文件路径有问题(网站也无回显文件位置),只能用白盒测试
白盒:
根据数据包去找对应的配置文件
得知,该网站没有对上传文件进行过滤
#白盒审计-CuppaCms-中间件-.htaccess
黑盒思路:存在文件管理上传改名突破,访问后在突破
审计流程:功能点-代码文件-代码块-抓包调试-验证测试
上传php文件,报错——文件类型
查看数据包:发现它会给我上传的文件改名,那我们的.user.ini 和 .htacess 就不好上传
发现有个重命名的功能:进行抓包,猜测是以to为标准,所以进行参数修改,去掉.png改为php文件
修改成功
进行访问,发现不对403
从.htacess文件中发现,在此目录中对以上的文件,都会给于允许拒绝的权限,从而导致访问失败
解决:
- 上传到其他目录
-
把.htacess删除
白盒:
得知过滤文件类型规则——白名单
检测代码逻辑
Rename文件
重命名页面是在html上执行的,之所以绕过是因为,页面上的xxxx.png的限制只是存在于前端,只是一个显示结果,以js的形式,并不是执行在php上
#白盒审计-Metinfo-编辑器引用-第三方安全
黑盒思路:探针目录利用编辑器漏洞验证测试
审计流程:目录结构-引用编辑器-编辑器安全查询-EXP 利用验证
文件目录扫描到了编辑器,则可以从编辑器为出发点进行探入
找到版本路径,进行历史漏洞信息收集
白盒:
黑盒:寻找一切存在文件上传的功能应用
1、个人用户中心是否存在文件上传功能
2、后台管理系统是佛存在文件上传功能
3、字典目录扫描探针文件上传构造地址
4、字典目录扫描探针编辑器目录构造地址
白盒:看三点,中间件,编辑器,功能代码
1、中间件直接看语言环境常见搭配
2、编辑器直接看目录机构或搜索关键字
3、功能代码直接看源码应用或搜索关键字