齐博cms 7.0 漏洞分析 - 11GX
首页 > 齐博cms 7.0 漏洞分析

齐博cms 7.0 漏洞分析

**

0x01 原理分析

**

还是很早之前爆出来的漏洞,现在拿出来学习一下,参考阿里巴巴:

https://security.alibaba.com/...

漏洞发生在/inc/common.inc.php页面中。首先看这个函数:

首先使用ini_get来获取php.ini中变量'register_globals'的值,而register_globals代表的意思是提交的请求是否注册为全局变量,取值为OFF和ON,一般默认配置为OFF,那么将会执行extract()函数。

extract()函数是对于提交的$_FILE变量,如果已经赋值那么将跳过,不进行赋值操作,如果没有赋值,那么进行初始化操作。

并且与此同时,齐博cms并未对$_FILE进行过滤操作。

因此,我们只需要找到一个未进行初始化的变量,已$_FILE的形式提交,那么他会自动的给你一个赋值,并且没有进行过滤,如果参与到sql注入语句中,那么就可能形成注入。

0x02 漏洞利用

这里还是以/member/comment.php文件中的变量$cidDB为例。

这里的cidDB变量没有进行初始化操作,并且参与了sql语句,因此只需要通过$_FILE的形式提交该cidDB变量,从而对其进行覆盖,完成注入,过程如下:

首先构造上传表单页面,源码如下:





 


提交后抓包,并修改filename为payload,成功注入。

转载于:https://www.cnblogs.com/vspiders/p/7399088.html

更多相关:

  •     注意,前情提示: 本代码基于《Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)》 传送门Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)_你挚爱的强哥❤给你发来1条消息❤-CSDN博客   在/api/demo/文件夹下面创建CURD.js...

  • 第一:在map端产生join mapJoin的主要意思就是,当链接的两个表是一个比较小的表和一个特别大的表的时候,我们把比较小的table直接放到内存中去,然后再对比较大的表格进行map操作。join就发生在map操作的时候,每当扫描一个大的table中的数据,就要去去查看小表的数据,哪条与之相符,继而进行连接。这里的join并不会涉...

  • 就之前本人主持开发的金融产品所遇到的安全问题,设计部分请参见:http://www.cnblogs.com/shenliang123/p/3835072.html 这里就部分web安全防护就简单的交流: 1.1系统安全 1.1.1  客户端脚本安全 (1)跨站脚本攻击(XSS):        XSS攻击,通常指黑客通过“html注...

  • 一、活动目录灾备简介  本次演练我们将讨论如何让域控制器从灾难状态(例如由于硬件或软件故障引起的数据库故障)进行恢复的步骤。此类灾难通常会导致域控制器失效,而且会使计算机无法正常引导;将只提供对运行 Active Directory 的域控制器(不运行其它服务)进行恢复的信息。如果该计算机上还安装有其它服务,例如域名系统 (DNS)...

  • 多线程编程 mind-Mapping保存有一下导图的xmind文件,可直接获取 互斥变量 互斥对象 ptrhead相关接口 条件变量 future异步访问类 async类 promise类 package_task类...

  • 我们在实际开发的过程中,可能需要某些类的成员变量并不是针对每一个对象的,而是针对每一个类而言的,比如在银行中有一个利率数据,我们希望的是,当一个利率改变的时候,所有的对象都能够看到这个改变的数据,并利用它,而不是每一个对象都有一个利率成员变量。这个时候就设计到了静态成员变量。 一. 内存那些事 静态成员变量是存放在静态...

  • volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触...

  •   引子     阅读以下代码,并尝试分析 代码解析 在主线程中,线程Id为1,为线程变量赋值 变量==d6ff开启一个新的task,此时线程Id为4,变量==d6ff,并调用Task1开启一个同步Task3,线程Id为1。变量==d6ff,修改值==f598此时第二步启动的Task1运行,线程Id为4,变量==d6ff,修改值=...

  • 操作系统基础    操作系统是协调、控制、管理计算机硬件资源与软件资源的控制程序 为什么要用操作系统?    1.操作系统可以把复杂的操作简化给用户使用或者应用程序  2.可以让应用程序对计算机硬件竞争变的有序  一套完整的计算机分为:操作系统、应用程序、计算机硬件 编程语言的分类   机械语言:使用二进制让计算机工作   优点:运行...

  • 看了网上的,有几种方法: 1 在你的表单页里HEAD区加入这段代码: