在wooyun上看到掌易科技终于不再忽略漏洞了,我也来凑凑热闹吧。去下了mcms的最新版(v_3.1.0.enterprise),来研究研究。
注入一枚:POST /app/public/model.php?tpl=data&model_name=adv&stype=1&skey=title&sval=test&p=1(注意public文件夹是安装系统时取的名字)post中有多个参数,都存在过滤不严的问题。
当tpl为attr时,model_name存在注入,当 tpl为data时,skey、sval、p都存在注入,此时,model_name可以是网站里的所有表,这里最少存在4个注入点。我们看看是如何注入的。
这里以表mcms_adv的sval为例进行说明。
由于该cms没有使用自定义的sqlxss()过滤,存在注入。
Payload:GET提交
因为是time-based blind 注入,猜测管理员用户名的第一个字母时,若错误,不延迟,如下图

若正确,延迟,如下图

按上面的方法依次做下去(burp intruder或者自己写个脚本跑),可测试管理员用户名为:mcmsadmin,密码为: f6fdffe48c908deb0f4c3bd36c032e72