admin 管理员组文章数量: 887017
猿人学第5题
猿人学第5题
- 分析请求
- 加密参数
- 分析cookie里的两个加密参数
- 分析密钥
- 分析url里的两个加密参数
- 扣代码
本文仅供大家学习
- 1 分析请求
- 2 加密参数
- 3 扣代码
分析请求
这是题目,要求是热度最高的前五名的和。按F12,看看请求的包
我请求了两页,请求参数只有两个,m和f
从这里看不出啥东西,题目提示cookie只保存50s,那肯定是cookie里加密了
,多次请求发现cookie里有两个值加密了,一个是m值,还有一个
是RM4hZBv0dDon443M
把两次的url和cookie拿出来分析
url:=1647409778035&f=1647409777000
//url
//下面是cookie,只拿了加密部分的参数
cookie:
m=9c69e65879573f20085d7a2771a87a41;
RM4hZBv0dDon443M=0+F9b7iseRE50ASrEbzE1RVCHX8I9iwkMYl4v8yXmT25uSL7v5sZO8Tx4XsMGnX6WU5sckvCyre6WXlxyC89Ey+IDowTvIxSX6Hc0PuCNue1UZCigkJVi9GUdQ0HyTfV/mCLCcFnkfFJ2eiV1oHHXTo0IrZf8Sf6GsYKXZGZIaZ0jn/gJgfIxiQQAQ3l6/Mo80bW3HzI+MvuoEgkgzUQcMG0A5c1qEm45Ki2XSV2fmk=
url: =1647409932219&f=1647409931000
//url
//下面是cookie,只拿了加密部分的参数
cookie:m=81618ecb71d36db642ec4f95076fb7c1; RM4hZBv0dDon443M=BSypJaqxtyJ7yRDTjWMxnrnuZa8S7apgFyan/e7GgJyQy01Nd2TIQQe9+QWaThPoaedwulWcjYn8sCBkbIRROcWH3zxVTOIXJ9iaekAN1KT3hprQaewfaAsLUDf7AL4tMS80JrVwwswA8MBsCfuD+eGhkQtV2+MoGWUV7WrSwwZch9c7pJQeSP7vSVaPMo7WWzzdRcwdf/BaISCkSDN5MzNvz+d2urG1w/01OSHDx08=
cookie设置一般是加载的时候,我们可以发现,在打开F12的时候有一段嘲讽的话,这里面有猫腻。
加密参数
上面找到了4个参数,url里两个类似时间戳的m和f,还有cookie里的两个加密参数m和RM4hZBv0dDon443M
分析cookie里的两个加密参数
进入VM里面,会发现是一大段混淆,也和题目说的一样,应该就是这里进行加密,试试搜索RM4hZBv0dDon443M,
一个都没有,试试m的话太多了,试试m=
好,找到了RM4hZBv0dDon443M,它是使用字符串拼接来的,下断点,cookie赋值要重新刷新,刷新一下
这里就是RM4hZBv0dDon443M生成的地方,进去这里断点断住之后不会立即给它赋值,跳过几次就有值了
控制台输出_0x4e96b4是window
继续找到它是怎么来的,搜索这个’_$’
一目了然,RM4hZBv0dDon443M就是AES的ECB加密出来的,那么找明文和密钥
这种模式的加密,第一个参数就是明文,后面接着是密钥,最后是一些配置
明文是一个数组toString()来的,密钥是window里的【‘_qF’】,
接着找这个明文数组怎么来的,
搜索这个数组,都打上断点,
五次添加,第3次添加后会打印两句话,但第4的内容已经有了,而且它加密的地方在最后一次是变化的,这里是一个天坑,慢慢找
_$Wa = _0x12eaf3();
_0x3d0f3f[_$Fe] = 'm=' + _0x474032(_$Wa) + ';\x20path=/';
_0x4e96b4['_$pr']['push'](_0x474032(_$Wa));
这个方法添加的字符串,每次都是加密的,_0x474032这个方法就是加密方法了,这个方法慢慢扣
一个一个扣就行,
分析密钥
直接搜索找到密钥,打断点,刷新,放开断点,控制台输出_0x4e96b4[‘_$is’],
_0x4e96b4['btoa'](_0x4e96b4['_$is'])['slice'](0x0, 0x10)
这个就是密钥了,将_0x4e96b4[‘_$is’]的结果使用base64编码一下,在取它的前16位
分析url里的两个加密参数
打开网页
m就是加密密钥的那段_0x4e96b4['_ i s ′ ] , f 是 w i n d o w . is'],f是window. is′],f是window._zw[23],
_$Wa = _0x12eaf3();
f = _$Wa;
f是最开始的时间戳,就是为了计时的,50秒cookie失效
扣代码
这里提几个小坑,大坑自己填
_0x4e96b4[_$UH[0x260]][_$UH[0x8]]['DONE']
分析大坑的时候,可以hook看它是的结果和明文
//hook代码
(function(){var kk_0x474032 = _0x474032;_0x474032 = function(e) {var kkk = kk_0x474032(e);console.log("明文:", e,"加密:",kkk );console.log("_0x4e96b4['_$6_']:" + _0x4e96b4['_$6_'])console.log("_0x4e96b4['_$tT']:" + _0x4e96b4['_$tT'])console.log("_0x4e96b4['_$Jy']:" + _0x4e96b4['_$Jy'])return kkk;}
})()
大坑就是
_0x4e96b4['_$6_']
_0x4e96b4['_$tT']
_0x4e96b4['_$Jy']
这几个的值会变,大胆猜测后面怎么变得
本文标签: 猿人学第5题
版权声明:本文标题:猿人学第5题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732361487h1535341.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论