加密STS的解密后覆盖文件利用
原创
月
月
月的造梦星球
2026年8月19日 11:08
浙江
在小说阅读器读本章
去阅读
关于STS临时密钥相关概念和利用不再阐述,分享一次挖掘中遇到的加密AKSK解密过程,最终找出算法解密通过明文AKSK操作存储桶过程
正常插件访问加载路由,触发接口和路由观察数据包信息,访问此路由发现执行了存储桶生成临时密钥数据包
请求生成STS密钥,但是accessKeyId和accessKeySecret都是Base64字符串,但不是标准阿里云 AK格式们,且每次请求均改变 这俩字段被加密了。 只有 securityToken是明文的(以 CAIS开头,是标准阿里云 STS Token格式,每次请求均为同一值
既然客户端能用这些加密 AK/SK去操作OSS进行文件读取和上传,那解密密钥一定在客户端代码里,逆向JS寻找解密算法,全局搜索常见加密算法字段如rsa``sm4``aes,encrypt PUBLIC_KEY,并且在前台登录框测试时也发现账户密码加密了,那么大概率上传凭证和账密是同一套算法,可以跟栈找出对应算法人工或者AI定位到关键代码均可审计出 方法因人而已;最终发现此rsa公钥 ,但是在其他加载的JS中并没有找出私钥
指纹识别和左侧的众多异步JS,可知网站是被webpack打包过 ,随机访问所有可达路由尽可能触发全部接口加载异步JS
最终在 chunk.9329.abb91da9.js中发现了一段代码:rsa的公私钥解密算法,人工太费劲直接AI解读,得到加密条件后构造对应解密算法
Base64密文 → 字节数组 → 大整数 c → pow(c, d, n) → 128字节整数 → 去掉PKCS#1 v1.5填充 → UTF-8明文
写一段Py脚本对最新生成的AK/SK进行解密填入解密私钥后和条件
得到最新的临时密钥
另起一脚本使用AKSK和临时文件操作存储桶,测试上传和覆盖效果,让AI搓了一个脚本,填入对应值和桶地址接口,写好了Signature字段的签名,准备好数据包即可
构造数据包进行签名文件写入操作,(签名脚本关注公众号后私信oss获取在线下载地址),把生成的数据包再粘贴到重发器使用即可,也可以自动写自动发包
写入文件响应200再写一个读取的数据包,修改请求访问为GET成功读取文件,后续测试在文件路径不变的情况下修改文件内容也可以覆盖桶内文件。
欢迎加入纷传圈学习更多实战报告小思路
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论