- N +

根据宝塔面板的腾讯云COS找回 SecretKey

为降低密钥泄漏的风险,自2023年11月30日起,对所有主账号、子账号的密钥,关闭查询SecretKey的功能,仅支持在创建时查看,请及时保存SecretKey。

老服务器要到期了,更换新服务器,新服务器需要重新配置腾讯云COS,但是 SecretKey 忘了。老服务器的腾讯云COS有存储的 SecretKey。


解决

  1. 浏览器调试发现调用的接口 /plugin?action=a&name=txcos&s=get_config

  2. 分析可知使用的配置文件是 /www/server/panel/plugin/txcos/config.json,文件内是密文存储。

  3. 要获取配置信息,一般为 get_config,在 txcos_main.py 中查找一下

    def get_config(self):
            default_config = {
                "secret_id": '',
                "secret_key": '',
                "region": '',
                "bucket_name": '',
                "backup_path": self.default_backup_path,
                'pattern': ''
            }
    
    
    	……
    
    	if isinstance(conf, str):
                    try:
                        conf = public.aes_decrypt(conf, decrypt_key)
                        public.print_log(conf)
    
    		……
  4. 分析可知配置是 public.aes_decrypt(conf, decrypt_key) 解密得到,public 是文件引用,conf 是密文,decrypt_key 是读取 /www/server/panel/data/a_pass.pl 文件内容。

  5. /www/server/panel/class/public.py

    def aes_decrypt(data, key):
        import panelAes
        if sys.version_info[0] == 2:
            aes_obj = panelAes.aescrypt_py2(key)
            return aes_obj.aesdecrypt(data)
        else:
            aes_obj = panelAes.aescrypt_py3(key)
            return aes_obj.aesdecrypt(data)


  6. /www/server/panel/class/panelAes.py,分析 aescrypt_py2 和 aescrypt_py3,使用 aesdecrypt,默认 ECB 加解密、base64 编解码、utf-8。解密可得到 SecretKey。


测试截图


根据宝塔面板的腾讯云COS找回 SecretKey







有好的文章希望我们帮助分享和推广,猛戳这里我要投稿

返回列表
上一篇:

发表评论中国互联网举报中心

快捷回复:

验证码

    评论列表 (暂无评论,共人参与)参与讨论

    还没有评论,来说两句吧...