1. Yapi基本介绍
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
官网源码地址:gitee (github地址我就不给大家演示了,因为需要科学上网)
https://gitee.com/mirrors/YApi
YApi 在 1.12.0 之前的版本(目前所有版本)中由于 base.js 没有正确对 token 参数进行正确过滤,导致存在远程代码执行漏洞。攻击者可通过MongoDB注入获取用户 token,其中包括用户ID、项目ID等参数。yapi后台的pre-request和pre-response方法存在缺陷点,通过注入调用自动化测试接口runAutoTest(),进而利用沙箱逃逸触发命令执行。
所以作者在这里教大家如何安装新版本Yapi,今天给大家演示的是yapi 1.12.0版本
2. 首选需要大家在服务器上安装一个node.js
大家可以根据网上教程安装一个node.js,相关教程网上有许多;
比如作者直接用nvm安装
1、 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
2、source ~/.bashrc
3、使用 nvm list判断nvm有没有安装好
4、nvm install 12.22.9
安装node12.22.9版本
如上图提示即安装好node.js
注意:作者这边用node.js 12.22.9版本进行安装yapi的,大家不要用太高的版本最好是跟作者保持一致!
3. 使用npm下载安装yapi
在服务器写下如下命令
npm install -g yapi-cli --registry https://registry.npmmirror.com
如下图所示安装完成
4. 一定要去npm下载下面的yapi模块里面修改镜像源配置
官方yapi代码里面默认镜像源配置是以前淘宝镜像源是过期了,需要替换成新的
去这个目录下面(只需要前面的目录即可不要全部路径)找到对应的配置文件install.js
cd /root/.nvm/versions/node/v12.22.9/lib/node_modules/yapi-cli/src/commands
将install.js文件里面淘宝镜像源替换下新的
大家记得将
registry.npm.taobao.org 改成 registry.npmmirror.com,只需要这样替换即可
然后保存文件
5. 在服务器创建一个yapi目录
7. 执行yapi server命令
yapi server是为了启动yapi服务端,在服务端需要配置web端一些参数
8. 访问yapi服务端页面
在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip
9. 配置参数
版本记得切换成1.12.0
大家记得把数据库mongo真实信息填写进去,然后点击部署
如上图所示部署成功,初始账号密码有了
10. 部署web端
部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问
注意:之前yapi server的服务可以手动停止了没啥用了;
大家记得手动在服务器上面用node执行app.js
cd /bestsw/install/yapi/my-yapi/vendors/server
node app.js
注意:如果需要将yapi放在后台运行,需要用这个命令
1、npm install pm2 -g 安装pm2
2、 pm2 start app.js