源码审计
MetInfo网站为V5.0.4 版本
MetInfo V.5.0.4存在变量覆盖导致任意文件上传漏洞,而且可以根据cms默认robots.txt文件查找到后台地址
漏洞位置是/admin/include/uploadify.php
直接访问
先进行访问权限判断
| 1 | require_once 'common.inc.php'; | 
common.inc.php文件中进行用户请求处理,将用户传的参数保存。
通过GET传参设置metinfo_admin_id和metinfo_admin_pass有值可以绕过是否是已登录用户检测。
之后设置met_admin_table=met_admin_table%20--%20绕过用户身份判断(如果数据库表不为met_admin_table可以尝试使用mysql.user,只要修改后查询不报错就可以)
很明显这里已经存在了一个sql注入漏洞,目标是文件上传,继续往下
| 1 | elseif($type=='upfile'){ | 
设置type变量为upfile进行文件上传操作,通过设置met_file_format修改允许上传类型
测试时发现在upfile.class.php文件中再次对met_file_format进行了检测过滤,检测方法为将php、aspx、asp、jsp、js进行替换为空
采用双写php绕过
根据上面的分析可以写出exp
| 1 | exp: |