emlog 6.0.0审计


emlog 6.0.0审计


后台删除评论sql注入

admin/comment.php

当action为delbyip时,判断token,并且GET传入的ip地址未经过滤带入delcommentbyip方法。跟踪该方法。定义在include/model/comment_model.php的150行。

可以看出这个函数直接将传入的参数$ip,代入”SELECT DISTINCT gid FROM “.DB_PREFIX.”comment WHERE ip=’$ip’”进行sql查询,此过程中未发现任何过滤行为,我们只需通过封闭单引号然后进行报错注入。

在后台管理评论处选择根据ip删除评论并抓包。

payload:' and extractvalue(0x0a,concat(0x0a,(select+version())))#

需要进行url编码。

插件上传getshell

/admin/plugin.php

当action为upload_zip时,判断上传文件是否为空,然后判断后缀名是否为zip,之后调用emUnZip函数解压压缩包到目录../content/plugins/下。跟踪emUnZip函数。

在解压的过程中会对压缩包里的文件名称进行判断,如果你压缩包名称为test则压缩包里必须存在test.php文件,否者会进行报错。

上传点

!

存储型xss

/admin/link.php

当action为addlink时,通过addslashes函数进行转义处理,防止进行sql注入,但是未进行任何的html实体化,或者过滤处理。通过第44行代码可发现进行了正则匹配所以我们构造的payload需以http、ftp开头,才能进型数据插入。之后通过addLink函数插入。跟踪该函数。

发现直接将数据插入数据库。

当action为空时,调用getLinks函数,跟踪发现

直接查询数据库,而后跟踪输出函数。

发现直接通过echo函数进行输出。

模板文件上传getshell

根据刚才的上传漏洞发现在admin/template.php页面也调用了emUnZip函数解压。

成功上传。


文章作者: Danie1
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Danie1 !
 上一篇
LLMNR Poison内网攻击技术 LLMNR Poison内网攻击技术
LLMNR Poison内网攻击技术 攻击者在启动 Responder 后,当受害者去访问一个在当前局域网中不存在的主机时就会触发 LLMNR Poison 攻击,如下图所示: 受害者主机 PING 一台局域网中并不存在的主机。Respo
2020-12-26
下一篇 
pbootcms漏洞复现 pbootcms漏洞复现
pbootcms漏洞复现 pbootcms1.1.4(1.1.5及以下版本)任意代码执行漏洞 这段函数采用了两次正则匹配的过滤方式,第一次正则需要构造形如{pboot:if(payload)}{/pboot:i
2020-08-16
  目录