加入收藏 | 设为首页
 
您当前的位置:首页 > 职场校园

DedeCmsV5.7小说插件二次注入漏洞

时间:2017-12-28 11:39:15  来源:  作者:

 这次的漏洞是出在默认的插件小说插件里,虽然有这个文件但是并没有安装,如果不安装的话,是没有这个表段的,所以说我们需要安装一下这个插件。然后查看数据库是不是多了一个表名为,XXXX_bookfeedback。

 
详细安装教程:【传送门】
 
这里我就不演示安装了,我们开始看代码
 
首先看这个函数,这个函数的主要作用就是获取书的内容,如书名等,此处不存在注入漏洞
这里是个引用回复的地方 首先进入这个If判断需要让$comtype的值为reply,这个很简单 Get 或者 Post数组中有一个键名是comtype内容是reply即可,然后下面是一个SQL语句,$fid此处也不存在注入漏洞,然后赋值,把表段arctitle字段的值赋值给$arctitle,然后aid字段赋值给$aid $msg进行了一下拼接,然后下方过滤了一下。这里其实是存在一个二次注入漏洞的,因为$row['arctitle']取出是没有做任何过滤的,直接取出来,aid是数字型 根本带不进去单引号。因为plus目录默认转义是addslashes()函数,导致单引号可以直接写入数据库,然后在取出的时候并没有做过滤导致单引号截断。但是这个地方是设置书名的地方,也就是说这里是书的名字,只能在后台设置,难道说这是一个毫无作用的后台注入? 不存在的,在引用回复的上面还有一段代码,如下。
老样子,Get 或者 Post数组中有一个键名是comtype内容是comments即可,然后就是一个没有任何用处的过滤,为什么没有用我们都知道,当然即使有用也不影响我们二次注入,上来addslashes()函数转义了$arcRow['arctitle']并赋值给$arctitle然后又给$arctitle赋值$arcRow['arctitle']所以说没有任何用,然后就是一个判断 判断$msg是否为0,这个也是用默认变量注册进入循环,这个地方的SQL语句其实根本就没有用到$arctitle变量,这是一个INSERT INTO语句,给$@__bookfeedback表写入内容的,这里可以看到arctitle的字段位置写入的是$bookname,我们只需要用变量注册写入一个单引号,默认的addslashes函数会直接转义成\’然后写入数据库就是一个单引号了’,之后再引用评论的时候引用一下就可以达到二次注入的效果,如下。
成功写入单引号截断,爆管理员用户名密码的EXP我就不发了,反正肯定能爆出来。爆不出来我们也不会发出来这个漏洞。
 
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门