输入 hello 实用进行抓包,抓取的内容如下
请求 URL:
返回内容:
我尝试修改一下 参数 q 的内容.返回如下内容:
不更改 q 的内容直接请求是可以正常返回内容的,看来校检参数不在请求头里(因为我没加请求头).应该在请求链接上.
我更改不同的单词查询,就发现只有 tk 是不同的,看来校检参数是 tk.
看来谷歌对链接里的 tk参数进行了校检.下面我们就需要分析其 js 文件进行分析,看一下它是如何生成 tk 的.
切换到开发者工具得 source 选项,如下图所示
发现其只有一个desktop_module_main.js文件.
发现 oa这个变量就是请求的 url路径.
发现 ps 函数使用了 oa,但没有发现 tk 函数,我们在其中下一个断点
继续输入单词,使其断下来.
断下来后跟进 ns 函数,单步跟踪到第2行,发现 tk 是由 ms 函数返回的,而传入的参数是我们输入的内容.
查看 ms 函数
发现其是取出 q参数(我们输入的内容)的内容,调用 Hr函数
查看 Hr 函数
发现 Hr 就是根据输入的单词生成 tk 的最终函数.前面的 if 是获取 TKK 的值,TKK 时固定的,在 index 页面可以查找到.
我把该函数所有需要的的参数都弄了出来(Hr 前面几行代码直接替换为固定的值),如下(可以直接运行的 js 脚本):
还原为 Python 代码:
通过上面函数算出来的 tk 就可以正确返回内容了.
URL:https://translate.google.cn/translate_a/single?client=t&sl=en&tl=zh-CN&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&pc=1&otf=1&ssel=0&tsel=0&kc=1&tk=264929.164808&q=hello
Header:不需要
Method:GET
技术难度:无.
加密强度:低.
混淆强度:低.
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2019-1-15 20:54
被chpeagle编辑
,原因: 图片修复