AKCMS 6.0 /akcms/login.php 登录绕过漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

该漏洞的问题出现在login.php中,由于编码采用GBK,而对$post_username变量没有进行严格的过滤和转义,导致可以绕过SQL防护,实现注入,下面针对此漏洞进行详细分析。 首先在login.php中第4行 ``` if(isset($post_loginsubmit)) { if($editor = $db->get_by('*', 'admins', "editor='".$db->addslashes($post_username)."'")) { if(ak_md5($post_password, 0, 2) == $editor['password']) { if($editor['freeze'] == 1) adminmsg($lan['youarefreeze'], 'index.php', 3, 1); if(!empty($post_rememberlogin)) { setlogin($post_username, $thetime + 24 * 3600 * 365 * 10); } else { setlogin($post_username); } $target = 'index.php'; if(ifthemeuninstalled()) $target = 'index.php?file=theme&action=themeinstall'; adminmsg($lan['login_success'], $target); } else { adminmsg($lan['login_failed'], 'index.php?file=login', 3, 1); } ``` 在db->get_by方法中,采用addslashes($post_username)过滤,构造\的方法防止SQL注入,随后在if语句中,调用了common.ini.php中的setlogin函数。第174行 ``` function setlogin($adminid, $expire = 0) { global $dbpw, $dbname, $codekey; if(!isset($dbpw)) $dbpw = ''; $verify = md5("$adminid|$dbpw|$dbname|$codekey");...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息