777
这个问题来源 是因为深夜测试小红书的时候发现主站的一个下载二维码被劫持了 大概检查了一会 我认为是ci.xiaohongshu.com这个站的二维码资源被替换了
在先知群里提了一下 然后早上起床看了一下已经被修复了 可以说先知群作为国内大厂的工单群还是挺有效的
看 web archive 同样的链接返回的二维码不一样
ci经检查应该是一个腾讯cos存储桶的cdn域名 带了x-cos的头
资源又以uuid的形式存储,因此定位到三种可能
- 存储桶sk/ak泄露(起码可以有上传权限)
- uuid算法可被攻击
- 存在其他漏洞可上传以替换ci站资源
其实以常见的攻击来说 3的可能性是最大的 那现在的方向就是如何去找到这个上传点
1的话其实有在xhs的app请求里看到一些相关的字段 但是不是直接的ak/sk 所以不好说
uuid我们可以看到并不能完全信任其唯一性与随机性 但是按照xhs这种情况 uuid很大程度上可能是与本地上传的资源和服务端本身的一些数据 比如时间 进行整合 这时候黑盒 或者说去做这个攻击 其实还是有很大难度的
xhs shield aes
https://www.52pojie.cn/thread-1512461-1-1.html
https://segmentfault.com/a/1190000040324555
https://mp.weixin.qq.com/s/BBb7Cach2qcSFqXISPa_SA
https://github.com/hundan2020/xhs_ios/blob/aa8a39b576bca4f4fda6d5152fc4021194929057/xy_main.py#L32
https://github.com/smallsun107/xhsShield/blob/1877995af2e25d429a500dd77e65c44fb2c2b22c/xyAes.cpp
https://github.com/Guroto/xhsShield/blob/e73bd8de6e5f33366e7979b86aadcff62127a455/utils/xyAes.cpp
xhs shield进展
根据
https://github.com/hundan2020/xhs_ios/blob/aa8a39b576bca4f4fda6d5152fc4021194929057/xy_main.py#L32
https://github.com/smallsun107/xhsShield/blob/1877995af2e25d429a500dd77e65c44fb2c2b22c/xyAes.cpp
来看 cpp代码中的in应该就是main_hmac
其次device_id中取前16位