嗨咯大家好,帅气要迷人的我,要来了。
言归正传,今天我们来讲的是今日头条的cookie加密。也就是所谓的__ac_signature字段,今日头条的新闻详细页面是要带这个字段和__ac_nonce这个字段一起去请求和访问才能得到结果的。
好了我们首先来测试胰腺癌不带是石门效果。

这是不带cookie去请求返回的结果,我们先来分析一下他做了什么事情。
<html><head><meta charset="UTF-8" /></head><body></body><script src='https://sf1-ttcdn-tos.pstatp.com/obj/rc-web-sdk/acrawler.js'></script><script>window.byted_acrawler.init({aid:99999999,dfp:!0});var b;a:{for(var c=document.cookie.split(/[;&]/),d,e=0;e<c.length;e++){for(d=c[e];" "===d.charAt(0);)d=d.substring(1,d.length);if(0===d.indexOf("__ac_nonce=")){b=d.substring(11,d.length);break a}}b=""}var f=b;var g=window.byted_acrawler.sign("",f);document.cookie="__ac_signature=; expires=Mon, 20 Sep 1970 00:00:00 UTC; path=/;";
document.cookie="__ac_signature="+g+"; expires="+(new Date((new Date).getTime()+18E5)).toGMTString()+"; path=/;";window.location.reload();</script></html>

我手动吧他换行了一下,首先我们主要看一下script标签里面的js代码
window.byted_acrawler.init({aid:99999999,dfp:!0});
看到这一行有没有觉得似曾相识的感觉,没错他就是_signature参数的哪一个window.byted_acrawler.init,只是改了值而已。继续看
for循坏,这里他获取了cookie然后赋值,然后还判断是否是__ac_nonce=这个字符串的。
我们这里主要看他走到最后是干什么的,也就是这个f的值,传进入的到底是什么是。
你可以复制这段代码,或者拦截请求把他打印出来看一下。
这里我就不演示了,他就是__ac_nonce=这个值得value。
然后在传入进行操作。

z这里我们可以看到,他这个传入进行总共两个参数,一个是哪一个cookie的值,还有一个空值,而且这份代码的结构看着很眼熟,不就是那个_signature参数的那一份。
但是但是但是,他这里面还是跟那一份有点差别的。不过没关系,复制出来就好了,他判断的对象也是一样的。
大家可以参考一下我的那一片_signature参数的改动。
然后就是这个__ac_nonce=参数,其实这个就更简单了,只是服务器传过来而已。

也就是第一次,没有带cookie请求的详细页面的链接,请求头中,我们只需要请求后拿到这个值,在传入加密文件得到的结果,就可以了。
好了今天的文章就讲到这里了。
如果本文违反了贵公司,请联系我,我将会第一时间删除
欢迎大家关注我的知乎,第一时间理解到我发布的动态,我们一起成长一起变大佬哈哈哈哈。。。。
欢迎大家关注我的微信公众号。
瞧瞧的告诉大家,如果小伙伴们想详细app的逆向也可以关注我公众号,公众号已经在陆陆续续发送文章了咯。
http://weixin.qq.com/r/IS7A2BTEtknJrVC793sz (二维码自动识别)
在麻烦大家帮我点一下赞,动动你们的小指头点一点,谢谢了。
本文章转载注明出处,违者必究,谢谢合作了。