emlog代码审计(复现)

 

SQL注入漏洞

文件admin/comment.php

漏洞验证

删除来自该ip的所有评论这里

 

删除抓包,单引号致使报错,sqlmap直接跑就可以

 

漏洞代码

这款cms的转义方式如下

 

 

 

漏洞代码如下

首先判断action==delbyip,检查token,防止csrf,判断权限。如果都正常,获取get类型的ip传参,传入delcommentbyip,追踪这个函数。

 

直接把ip变量传入到了sql中,执行查询语句,因此这里可以使用单引号闭合,注释来进行sql注入攻击

 

 

文件上传漏洞

文件位置:admin/plugin.php

首先确定action变量等于upload_zip参数,检查token,获取files的参数,然后判断失败,使用getFileSuffix方法获取文件后缀。接着emunzip解压文件,跟踪emunzip这个函数

 

这里调用了一个PHP的ZipArchive类,它是用来压缩文件的

说明文档

https://blog.csdn.net/luoluozlb/article/details/72853885

在这里调用open方法打开一个zip文件,如果不得与true,返回文件权限的问题

    if (@$zip->open($zipfile) !== TRUE) {

        return 2;//文件权限问题

}

接着在这里使用explode函数,用’/’当作分割符,把字符串分割为数组形式

GetNameIndex方法使用索引返回一个文件,如果为0,则读取整个条目

$r = explode('/', $zip->getNameIndex(0), 2);

在$dir这里检测$r[0]存在,如果存在,在末尾添加一个’/’

然后switch分支,由于传过来的$type为plugn,所以进入case ‘plugn’这里

首先使用substr提取字符串,调用getFromName方法使用文件名返回文件内容,判断是否与文件夹名称相同的php文件

最后getfromname做的就是(shell/shell.php)把我传入的内容获取

 

把一个shell文件,放入shell文件夹下,解压成zip文件,上传

 

 

 

上传成功后会在src/content/plugins/shell下

 

 

文件备份拿shell

首先看一下源码,首先判断权限,获取files信息,在这里获取文件名的后缀,解压文件

 

这里dirname获取临时文件名的路径名称拼接上,用str_replace替换之后的sql文件。

然后检查备份文件头的信息,执行sql命令,更新缓存的操作。这里没有检查是否对文件进行了修改,增加恶意代码的操作

 

 

在admin/data.php目录下备份文件之后,打开sql文件,增加如下内容

设置了 general_log 和 general_log_file 之后所有SQL记录都会写入指定的文件,所以可以通过这种方法将php语句写到log中

set global general_log='on';

SET global general_log_file='E:/phpstudy/WWW/CodeAudit/emlog_6.0.0/eval.php';

SELECT '<?php phpinfo();?>';

 

然后导入本地备份,会在这个目录下生成一个php文件

 

 

 

存储型xss

文件在这里admin/link.php

首先获取我们输入的信息,通过addslashes转义(addslashes() 函数返回在预定义字符之前添加反斜杠的字符串),然后判断了sitename和siteurl为空,接着正则匹配,只能输入开头为http或ftp。然后带入addlink方法,跟踪addlink方法

 

Addlink方法传入4个参数,判断taxis大于30000或taix小于0。

然后执行sql语句,插入到数据库中

 

接下来看输出的代码

当action为空的时候,首先去调用getLinks方法

 

getLinks方法首先去数据库查询数据给了$res,然后通过while循环把数组结果放入links

循环体的内容,把sitename名称这里使用了转义函数,description描述,这里使用了htmlclean设置过滤及保留属性,而siteurl地址这里没有做任何处理,直接返回到页面当中

 

因为使用addslashes函数虽然会转义’”符号,但是不会把转义过的字符串插入数据库中,从数据库中取出数据的时候一样会导致xss漏洞

“><script>alert(1)</script>

 

posted @ 2021-03-09 16:26  娜娜米  阅读(667)  评论(0)    收藏  举报