74cms v5.0.1 前台sql注⼊复现

漏洞简介

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

74cms v5.0.1 前台sql注⼊复现

 

 

74cms v5.0.1 前台sql注⼊复现

把图中所示的debug模式开启

进入后台页面添加一个用户和一个公司,因为需要前台登录且漏洞出现在关注公司的地方

74cms v5.0.1 前台sql注⼊复现

 

 

74cms v5.0.1 前台sql注⼊复现

在前台搜公司的功能中找到你刚才的公司,点击关注时截取http传输包,修改并输入payload

74cms v5.0.1 前台sql注⼊复现

 

 

74cms v5.0.1 前台sql注⼊复现

也可以在页面上进行

74cms v5.0.1 前台sql注⼊复现

 

 

74cms v5.0.1 前台sql注⼊复现

漏洞原理

涉及到thinkphp内置函数,请参考http://www.thinkphp.cn/code/4380.html

查看一下漏洞定位的函数

74cms v5.0.1 前台sql注⼊复现

 

 

 

更近add_focus函数

74cms v5.0.1 前台sql注⼊复现

 

 

 

74cms v5.0.1 前台sql注⼊复现

match被拼接进去,1")完成闭合

到此就巧妙的进行了注入

注:原创不易,搬运请标明出处

上一篇:桥接模式


下一篇:cybox1-1靶机练习