源码:

https://cdn.jsdelivr.net/gh/seacms-net/CMS@master/SeaCMS.zip

→点击查看网络安全学习资料·攻略←

1.2000多本网络安全系列电子书
2.网络安全标准题库资料
3.项目源码
4.网络安全基础入门、Linux、web安全、攻防方面的视频
5.网络安全学习路线图

漏洞分析:

打开我们下载的源码
漏洞源头为“图片水印设置”功能,对应的源码文件为admin_config_mark.php

当我们后台使用图片设置功能时

点击提交之后,这里首先调用了admin_config_mark.php文件,而这个文件的开头加载了全局文件

继续跟进config.php,这个文件中又引入了common.php

继续跟进common.php文件

此时我们找到了最终加载的文件,而这个文件的功能是对全局的变量进行过滤防护。

这里最终调用的函数为_FilterAll

将参数传入之后,框架会对每个参数使用addslashes函数进行转义,原本我们传入1’变为了1’,接着来到admin/admin_config_mark.php文件

这里就出现了处理参数的逻辑错误。对全局转义过的参数又进行了一次替换操作,使用了str_replace函数将全部的单引号替换成了空,所以1’就变成了1\,此时字符串进行了拼接。
然后紧着这把字符串写入了配置文件中

此时配置文件中写入的数据如下,这就导致了将原本的单引号转义掉了。此处我们就可以写入任意代码了。

最后

私我获取【网络安全技术学习资料·攻略】

【安全漏洞】某CMS后台防护逻辑漏洞导致GETSHELL相关推荐

  1. phpcms某处逻辑问题导致getshell

    关于phpcms某处逻辑问题导致getshell的修复问题 简介: 漏洞名称:phpcms某处逻辑问题导致getshell 补丁文件:/phpcms/libs/classes/attachment.c ...

  2. WEB攻防-通用漏洞水平垂直越权购买逻辑漏洞

    目录 水平垂直越权 水平越权 垂直越权 访问控制原理 漏洞判别 防护 购买逻辑漏洞 知识点 详细介绍 防护 案例演示-优惠券 案例演示-CMS-订单修改 水平垂直越权 水平越权 同级用户权限共享--- ...

  3. php代码审计逻辑漏洞,PHP代码审计之WEB逻辑漏洞 - 安全牛课堂 - 领先的信息安全在线教育平台...

    { "i18nChapterName": "章", "i18nUnitName": "节", "i18nLes ...

  4. cms后台利用更新模块压缩包getshell

    最近在找文件上传漏洞比较多.现在发现比较难找了,一是文件校验比前几年的更加严格了,黑名单还可以想办法绕过,白名单就相对困难了. 最近发现一个getshell的方法,原理是利用文件更新上传带有shell ...

  5. Web安全 支付逻辑漏洞.

    支付逻辑漏洞的概括. 支付逻辑漏洞:是系统的支付流程中存在业务逻辑层面的漏洞. 支付逻辑漏洞:通常为选择商品和数量---选择支付及配送方式---生成订单---订单支付---完成支付. 常见的支付逻辑漏 ...

  6. 网站安全维护之逻辑漏洞、越权漏洞的修复与加固服务

    网站安全维护 网站安全维护当中,程序代码的设计逻辑漏洞,以及用户权限越权漏洞是比较常见的, 在许许多多的电商以及APP网站里,很多前端业务需要处理的部分验证了用户的登录状态, 并没有详细的对后面的一些 ...

  7. 业务安全 –业务逻辑漏洞

    目录 业务安全 –业务逻辑漏洞 业务安全概述; 业务安全测试流程: 业务数据安全 商品支付金额篡改 前端JS限制绕过验证 请求重放测试 业务上线测试 *商品订购数量篡改 密码找回安全 注入 业务逻辑 ...

  8. 攻防演练中的业务逻辑漏洞及检测思路

    随着各类前后端框架的成熟和完善,传统的SQL注入.XSS等常规漏洞在Web系统里逐步减少,而攻击者更倾向于使用业务逻辑漏洞来进行突破.业务逻辑漏洞,具有攻击特征少.自动化脆弱性工具无法扫出等特点,也为 ...

  9. 不可思议但又无处不在的漏洞,WEB安全基础入门—业务逻辑漏洞

    欢迎关注订阅专栏! WEB安全系列包括如下三个专栏: <WEB安全基础-服务器端漏洞> <WEB安全基础-客户端漏洞> <WEB安全高级-综合利用> 知识点全面细致 ...

最新文章

  1. 关于NameError: name ‘train_test_split‘ is not defined错误提示
  2. c语言程序设计第二版李学刚,C语言程序设计(第2版)李学刚教学资源教学课件2-7 动态变量.pptx...
  3. 剑与远征种族刻印让玩家期待,绿裔刻印真有那么好看
  4. n皇后问题java版
  5. Trade Stages - The Trade Path
  6. 初步的 MPI消息传递函数
  7. Windows判断是否为64位程序(C++)
  8. 读书:《从零到百亿-Facebook创业故事》
  9. js 基础总结(常用的反转)
  10. cant connect local mysql to_连接Mysql提示Can't connect to local MySQL server through socket的解决方法...
  11. YDOOK: USB 转 TTL 串口模块接线图
  12. java基础考试_Java基础试题及其答案
  13. UART协议TTL电平接口高性能低功耗SI4463无线透传通信模块
  14. 关于Windows API、CRT和STL二三事
  15. 债务人无力偿还,债权人可否直接起诉“次债务人”
  16. MySQL知道出生日期如何计算年龄
  17. 彻底理解面试难点之rb-tree(红黑树)续--对红黑树的插入和删除操作的一些理解!!!
  18. 基于Revit铝模板设计-区域配模
  19. android文字转语音模板,Android-文字转语音
  20. 成都北大青鸟怎么样?

热门文章

  1. ML之Cosin:基于输入图片RGB均值化转为单向vector利用Cosin(余弦相似度)算法进行判别
  2. BigData:根据最新2018人工智能行业创新企业Top100名单,绘制AI地区热点图,一目了然,看清哪个是AI最热门城市,以及VC最AI的热门领域
  3. AI公开课:18.05.16 周明博士(MSRA副院长)—北大AI第十一讲之《语言智能的进展》课堂笔记——你了解语言智能
  4. Python实现 灰色关联分析 与结果可视化
  5. 键盘压缩背景,ios滚动不流畅,禁止遮罩层下面内容滚动
  6. BZOJ 1008--[HNOI2008]越狱(容斥快速幂)
  7. 【bzoj5197】[CERC2017]Gambling Guide 期望dp+堆优化Dijkstra
  8. Leetcode 之Count and Say(35)
  9. 使用AFNetworking请求新浪微博数据接口出错解决办法
  10. 利用序列化进行文件读写