漏洞简介
74cms 5.0.1 前台AjaxPersonalController.class.php存在SQL注⼊
复现过程
具体信息 文件位置
74cms\upload\Application\Home\Controller\AjaxPersonalController.class.php 方法:function company_focus($company_id)
是否需登录:需要
登录权限:普通⽤户即可
Payload:
http://127.0.0.1/74cms/5.0.1/upload/index.php?m=&c=AjaxPersonal&a=company_focus&company_id[0]=match&company_id[1][0]=aaaaaaa%22) and updatexml(1,concat(0x7e,(select user())),0) -- a
复现流程
注:这个漏洞比较鸡肋的地方在于必须开启debug模式
先去官网下载v5.0.1的版本,安装好后进入index.php
把图中所示的debug模式开启
进入后台页面添加一个用户和一个公司,因为需要前台登录且漏洞出现在关注公司的地方
在前台搜公司的功能中找到你刚才的公司,点击关注时截取http传输包,修改并输入payload
也可以在页面上进行
漏洞原理
涉及到thinkphp内置函数,请参考http://www.thinkphp.cn/code/4380.html
查看一下漏洞定位的函数
更近add_focus函数
match被拼接进去,1")完成闭合
到此就巧妙的进行了注入
注:原创不易,搬运请标明出处