文件上传-黑盒测试-白盒测试

#白盒审计-Finecms-代码常规-处理逻辑

黑盒思路:寻找上传点抓包修改突破获取状态码及地址

审计流程:功能点-代码文件-代码块-抓包调试-验证测试

#白盒审计-CuppaCms-中间件-.htaccess

黑盒思路:存在文件管理上传改名突破,访问后在突破

审计流程:功能点-代码文件-代码块-抓包调试-验证测试

#白盒审计-Metinfo-编辑器引用-第三方安全

黑盒思路:探针目录利用编辑器漏洞验证测试

审计流程:目录结构-引用编辑器-编辑器安全查询-EXP利用验证

#文件上传:

黑盒:寻找一切存在文件上传的功能应用//能够上传文件来修改信息

1、个人用户中心是否存在文件上传功能

2、后台管理系统是否存在文件上传功能

3、字典目录扫描探针文件上传构造地址 //如upload.php等

4、字典目录扫描探针编辑器目录构造地址

白盒:看三点,中间件,编辑器,功能代码

1、中间件直接看语言环境常见搭配

2、编辑器直接看目录机构或搜索关键字

3、功能代码直接看源码应用或搜索关键字

我们可以从白盒角度去分析,从黑盒角度去测试

在演示xxcms的时候(该cms)是一个文件管理系统。在file management 这个地方可以上传图片。但是存在检查过滤,单纯的抓包改数据不能够突破后缀名检查。但是该cms存在重命名功能,此时企图重命名原来的png文件为xxx.php文件,正常来说系统会限制修改后缀名,所以正常来说修改过后的文件名为xxx.php.png。此时我们可以抓包看一下数据包能不能操作,发现有一个:
from xxx.php.png to xxx.php.png …… //此时我们猜想起了决定性作用的是to 后面的文件名,所以改包,把to后的文件名改成xxx.php发现可以成功修改名字,确实把png文件改成了php文件。一般的这个时候如果php文件里面是后门代码的话,我们就可以按照原本的思路进行连接。
但是,在演示的时候出现了在实战中经常会遇到的情况,就是访问路径的时候显示403,我们没有权限去访问这个路径。原因是存在一个.htaccess文件过滤了php文件名,限制了访问带php后缀名的url。因为开发者知道这个目录不应该存在php文件。
解决这个问题的思路:
1.把php上传到其他路径,其他路径可能没有被限制; //此时我们可以通过文件路径../或者多级跳../../ 来切换到一个不被过滤的目录然后再连接后门代码。
2.让.htaccess文件失效//但是在黑盒情况下我们并不清楚是因为这个文件生效;

另一个cms使用白名单机制,十分严谨。提示我们可以写代码的时候把后缀名固定住,防止抓包改包修改数据。

别的也有用%00截断(适用于php5.4版本之前)现在php少了,绝大部分是php7,php5少了很多了。

白盒审计三个注意点
·中间件
·编辑器 // 扫目录扫出编辑器,找到版本号,找到漏洞EXP,利用漏洞
·功能代码

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注