源码审计
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: |