注入在XDCMS企业管理系统的后台登录功能处,来看看\system\modules\xdcms\login.php文件:
登录时会调用check进行登录验证,查询是否存在此用户,问题就出在login.php的check函数的UserName处。
由于在获取UserName时,通过safe_html进行过滤,来看看safe_html的过滤机制:
safe_html只是按照小写过滤了常规的SQL注入敏感词以及=和*,但只这里存在缺陷,可绕过限制,进行注入。
我们使用小写SQL语句,并且不实用=和*
第一步,登录后台
第二步,登录时,截断抓包,在UserName处插入单引号'进行测试,发现报错,存在注入
第三步,我们在UserName处,插入一下EXP:
第四步,成功注入出管理员的用户名和密码: