本帖最后由 wind_飘 于 2017-9-7 19:58 编辑
一个小小小众的cms
ZMLCMS采用php+mysql开发,基于MVC开发,前端使用pintuer、jquery、layer等.... 问题出现在:ZMLCMS\App\Home\Controller\ItemController.class.php 问题代码:58行 对id传过来的值过滤不严谨,导致SQL: 看了下SQL过滤的函数,程序员太可怕了,我们来看下当我们带入单引号会有什么变化: 看出单引号被转义 下图是吧字符串里面的单引号替换成2个单引号 只对单引号和双引号做文章,那我们不出现单引号和双引号不就完事洛,那么我们直接构造语句: 成功爆出管理员账号密码,通过MySQL监控可以看到语句被直接带进数据库 最后构造exp:and extractvalue(1, concat(0x7e,(SELECT distinct concat(0x23,username,0x3a,password,0x23) FROM zml_admin_user limit 0,1))) |