Zzzcms 1.75 后台任意文件读取

Zzzcms 1.75 后台任意文件读取
============================

一、漏洞简介
————

– 管理员权限

– 后台管理目录

– 后台数据库为mysql

二、漏洞影响
————

Zzzcms 1.75

三、复现过程
————

### 任意文件读取(一)

![img](/static/yougar/Web安全/Zzzcms/resource/Zzzcms1.75后台任意文件读取/media/rId25.png)

首先来看防护规则,不允许出现./

![img](/static/yougar/Web安全/Zzzcms/resource/Zzzcms1.75后台任意文件读取/media/rId26.png)

看 safe\_path 只能是upload template runtime路径下的

![img](/static/yougar/Web安全/Zzzcms/resource/Zzzcms1.75后台任意文件读取/media/rId27.png)

所以构造/runtime/..\\config/zzz\_config.php 即可绕过防护

### 任意文件读取(二)

![img](/static/yougar/Web安全/Zzzcms/resource/Zzzcms1.75后台任意文件读取/media/rId29.png)

![img](/static/yougar/Web安全/Zzzcms/resource/Zzzcms1.75后台任意文件读取/media/rId30.png)

首先来看restore函数,mysql数据库,发现path是可控的,看955行,跟进到load\_file函数

![img](/static/yougar/Web安全/Zzzcms/resource/Zzzcms1.75后台任意文件读取/media/rId31.png)

在zzz\_file.php文件中,如果存在该path,则通过file\_get\_contents读取

![img](/static/yougar/Web安全/Zzzcms/resource/Zzzcms1.75后台任意文件读取/media/rId32.png)

然后现在的想法是如何输入出来,跟进到db\_exec()函数

在zzz\_db.php中,看str\_log把sql语句写入到了log中

![img](/static/yougar/Web安全/Zzzcms/resource/Zzzcms1.75后台任意文件读取/media/rId33.png)

在zzz.file.php中,跟进到str\_log文件,看到文件的命名规则,

![img](/static/yougar/Web安全/Zzzcms/resource/Zzzcms1.75后台任意文件读取/media/rId34.png)

文件命名规则为当天时间的时间戳+数据库用户+数据库密码,并且是未授权访问

![img](/static/yougar/Web安全/Zzzcms/resource/Zzzcms1.75后台任意文件读取/media/rId35.shtml)

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容