前言
没有getshell的审计都是耍流氓。
今天突然灵光闪现,重新看了下74cms,终于拿下了。
正文
在Application/Common/Controller/BackendController.class.php
有这么一段可怕的代码
没有getshell的审计都是耍流氓。
今天突然灵光闪现,重新看了下74cms,终于拿下了。
在Application/Common/Controller/BackendController.class.php
有这么一段可怕的代码
之前看了续爷的二次注入,字符限制为60个。怼了半天没弄出更短的sql语句,于是看了下登录的逻辑。
找到密码的加密方式
$admin = M('Admin')->field($field)->where(array('username'=>$username))->find();
if(!$err && !$admin) $err='管理员帐号不存在';
if(!$err && $admin['password'] != md5(md5($password).$admin['pwd_hash'].C('PWDHASH'))) $err='用户名或密码错误!';
看看C("PWDHASH")
74cms/Application/Common/Conf/pwdhash.php
其实并不是第一次审这套cms。在5.5版本的时候就看过一次,之前啥也没看出来。
庆幸自己再一次把它当做了目标。
2017 新的开始
在/chanzhieps/system/module/cart/control.php页面的add函数