Yearning
Yearning copied to clipboard
关于默认SecretKey的一个疑问
在搭建环境的时候我注意到作者在SecretKey处写了不更改将存在安全风险但是却没有明确风险原因
然后我自己分别在两台机子上搭建了两个yearning且采用了相同的SecretKey,抓取一个登录后的yearning数据包借用其中的Authorization头伪造数据包后发现可以直接对另一个未登录yearning的权限接口发起调用,比如添加帐号
所以想问一下这是权限设计上就是这样的逻辑吗?还是一个预料意外的安全问题?
如果是设计上的逻辑是不是只要通过修改SecretKey就可以避免掉?
1.这个key就是token及数据库加密的 秘钥值 2.如果你知道秘钥自然可以反解出实际的值
但是改了之后,我发现页面出不来了,我用的 Yearning-v3.0.1-linux-amd64.zip 打包 docker 镜像,目前发现了两个问题:
- 数据库不能自动初始化出来默认用户数据。只能进入docker容器里面,手动执行一次 ./Yearning install,但是由于表已经建了,会报已经初始化,把表删了重新执行,执行成功,数据库多了一条记录
-
改了SecretKey之后生成的镜像,使用方法1生成的数据库记录,使用默认用户名密码登录不了(我怀疑是不是启动脚本代码里硬编码了,有没有办法环境变量指定)
第2个问题忽略,可能是因为缓存,清了缓存就OK了
@chaiyd 看下是否有办法解决呢~
@Uetty 可以先看下docker目录中的文档,目前先使用手动的方式进行初始化。
后续对于初始化这块我处理一下
version: '3'
services:
yearning:
image: chaiyd/yearning:latest
environment:
MYSQL_USER: yearning
MYSQL_PASSWORD: ukC2ZkcG_ZTeb
MYSQL_ADDR: mysql
MYSQL_DB: yearning
ports:
- 8000:8000
# 首次使用请先初始化
#command: /bin/bash -c "./Yearning install"
#volumes:
# - ./conf.toml:/opt/conf.toml
depends_on:
- mysql
restart: always
@cookieY 嗯,问题不大,手动处理了。有这个issue在,后面遇到同样状况的人可以很快知道问题在哪,知道问题所在处理起来是比较快的
重新reopen该issue 并标记常见问题 感谢你的关注