今天对比了一下最新版7.9.4的宝塔面板(宝塔的开发习惯是即使是同一个版本号,也会不断更新文件)。发现了一个js文件比较可疑,经过分析后得出,是宝塔最新增加的上报后门,可以上报用户自己的IP和端口(非服务器的)
js文件路径:/panel/BTPanel/static/laydate/laydate.js
根据文件时间戳,可知是10月9日更新的。
这个文件本身是layer的日期显示组件,但是宝塔在最后加入了一段eval加密的js。这种js很好解密,以下是解密后的js:
完整代码粘贴不出来,会被论坛拦截,只能截图部分
可以看出是创建了个WebRTC连接,最终是拿到了用户自己的IP和端口(id和pid变量),并组合后进行了简单加密,赋值给cid,POST到接口/plugin?action=get_soft_list_thread
那么get_soft_list_thread是在干什么呢,找到py代码,是异步调用/script/flush_soft.py,然后这个文件里面是调用加密模块里面的一个方法PluginLoader.get_soft_list(cid)
下面反编译看看这个方法是具体干什么的
宝塔搞了个很有迷惑性的方法名,初看还以为是获取软件列表的,实际根本不是。方法内部只是把cid发送到接口https://cpi.bt.cn/get_soft_list,并未对返回值进行处理,可确定不是获取软件列表的。
之前已经有人爆料过宝塔的上报接口(site_task.py),为什么10月9日又新增了一个?可能是之前的接口只是上报一些统计的数据,并没有上报用户IP这种敏感信息。另外现在新增的这个更加隐蔽,通过迷惑性方法名、夹杂在公共js文件等手段进行隐藏。
我刚才还疑惑,明明有上百种方法可以获取到用户IP,为什么非要写那么一大堆js通过WebRTC的方式来获取。原来这种方式可以无视代理,我这边试了即使是开了全局代理,也一样可以获取到真实IP而不是代理服务器IP!
网安啥都管,觉得你有嫌疑就可以直接封你宽带,可以封你电话卡,可以封你银行卡,宝塔现在用户量那么大,各大云服务商都可以预装,要接入网安系统当然不意外。。
收集用户信息。这种骚操作是国产必备的方法了。
用pve不好吗。。。做web直接开个容器apt-get install nginx mysql php redis 或者7.6.0 离线版,用到死
我刚才还疑惑,明明有上百种方法可以获取到用户IP,为什么非要写那么一大堆js通过WebRTC的方式来获取。原来这种方式可以无视代理,我这边试了即使是开了全局代理,也一样可以获取到真实IP而不是代理服务器IP!
自己离线化了7.7.0 不准备用官方的版本了,就是某些系统部署nginx的时候有点问题
Sooele 发表于 2022-10-26 11:33
有钱你就买定制离线版。
反正我用了两三年。屁事没有。
纯属个人偷懒,别跟我扯什么LNMP自己装。
这不是搜集不搜集你的信息的事儿,
关键是它会把你的IP跟你绑定,
等你换了服务器,别人用你之前的IP搞事情,相关部门会根据宝塔的IP记录,来请你喝茶,
这些事情之前论坛有人遭遇过
浏览器一定要关闭 WebRTC,不过不推荐用这玩意儿
Oneinstack 它不香嘛
MSN 发表于 2022-10-26 15:12
之前有个仿宝塔的那个地址是什么来~
https://github.com/midoks/mdserver-web
转载请注明:落伍老站长 » bt最新版增加了新的上报后门,更加隐蔽