欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

微擎漏洞修复记录

程序员文章站 2022-05-09 11:15:08
...

昨天丢了一套2.0微擎系统上自己服务器做测试使用,今天在阿里云收到信息:

微擎漏洞修复记录

 

没有给阿里云交保护费,只能自己手动验证修复

1.微擎二次注入漏洞(ver1.*就存在的漏洞,让我怀疑我安装了个假的2.0)

sql语句查询前未作处理为sql注入漏洞的根源,同时多个sql语句拼接执行,使攻击者可以注入更长的代码。最后查询的变量用户可以控制,所以最终该漏洞可以实施攻击。

web/source/mc/fangroup.ctrl.php

 

搜索下面内容,60行左右:

$sql .= 'UPDATE ' . tablename('mc_mapping_fans') . " SET `groupid`='" . $tagids . "' WHERE `fanid`={$fans['fanid']};";
				}
				pdo_query($sql); 					}	


修改为:

$sql = 'UPDATE ' . tablename('mc_mapping_fans') . " SET `groupid`= :tagids WHERE `fanid`=:fanid;"; 
					pdo_query($sql,array(":tagids" => $tagids, ":fanid" => $fans['fanid'])); 
				}
			}

 

其他注入漏洞请看:

https://blog.csdn.net/where_in/article/details/94602549

https://www.znian.cn/544.html

 

2.微擎1.5.4任意用户删除漏洞

代码权限控制存在漏洞导致攻击者可任意删除用户。

web/source/founder/display.ctrl.php

找到 $founders = explode(',', $_W['config']['setting']['founder']);
在其后添加:

$identity = uni_permission($_W['uid']);
if ($identity != ACCOUNT_MANAGE_NAME_FOUNDER && $identity != ACCOUNT_MANAGE_NAME_VICE_FOUNDER) {
    itoast('没有权限', referer(), 'error');
}

 

上一篇: 看来是没错了

下一篇: 竟然卖女人