免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
聚合网络安全,存储安全技术文章,融合安全最新讯息
点击蓝字 关注我们
春日游
前言
假期期间闲来无事,做一下题目,赚一些积分嘿嘿,给各位师傅拜个年了在这里
START OF SPRING
拿到题目,给了.saz和.wacz的网络数据包存档,那肯定是选择.saz啦,毕竟君Fiddler本当上手。
START OF SPRING
导入一看,很明显是需要把这个m3u8视频给解出来,而/api/drm/这个drm命名一看就是key,所以思路就多起来了:
START OF SPRING
1.如果是标准m3u8加密算法,那么Fiddler开个自动回复然后N_m3u8DL_CLI一把梭。
2.如果是写在js里的加密算法,那么Fiddler开个自动回复然后尝试播放。
START OF SPRING
但是思路一很快就被否决了,因为我看了下key是32字节的,但是标准算法是16字节的。
START OF SPRING
所以那就按思路二来吧。由于数据包是https的,但是域名本身并不存在SSL证书,所以即使开了自动回复也不能正常访问,那么咱给数据包全选然后拉到自动回复里,右键导出所有,存起来然后把里面的https://52tube.mmxxii/全给替换成https://www.baidu.com/这种实际存在SSL证书的域名,任何导入回去就行。
START OF SPRING
开启自动回复,浏览器直接访问https://www.baidu.com,尝试播放发现报错。
START OF SPRING
于是猜测可能跟上面那个/api/drm/数据包有关系,因为那个数据包有一个h参数,但是似乎是随机生成的,我尝试访问产生的值和存档里并不一样。
START OF SPRING
那么就去控制台断点看看吧,看一下这个数据包的调用堆栈,从后往前依次看过去,找找哪个是提交参数的地方。
START OF SPRING
结果很明显,调用堆栈顶部的那个就是。
START OF SPRING
在h参数那边下个断点,看看e变量处理前后是啥关系。
START OF SPRING
很明显,就是把数据转成十六进制字符串而已,那么追前面去看看e的数据源头在哪,尝试改成存档里的应该就行。
START OF SPRING
e果然就是个随机生成的,而且e就是源头,那就不怕没改全面漏掉其他地方了,直接写个js给e赋值就行。
START OF SPRING
视频成功加载,在00:12成功拿到flag。
flag{like_sub_52tube}
原文始发于微信公众号(Th0r安全):52破解领红包之番外篇 WriteUp
评论