因为看到好多小伙伴问我关于美团X-FOR-WITH生成的问题,那我就出个教程好了!
这里我们打开https://h5.waimai.meituan.com/waimai/mindex/home
然后随便点击进去一家店铺,不点击也行。只是便于查找而已!
随后发现,这请求当中有我们想要的数据!
然后发现此处是Other。。。。。
然后搜索。也是没结果!!
那我们就xhr调试!!
然后断点停在了这里!!
然后各种调试,call stack调试完了,,也没发现X-FOR-WITH在哪里出现。。。。。。。。。。。。。。。。。。。见鬼了!!
找来找去,,发现这里有个send请求。。。。。
原来是hook。。。。怪不得找不到!!!
我们接着分析,原来是没有code参数的。
code生成方式如下,也在当前js文件里面。
其实不然。
这都是假象。
我也被骗了。。。。
看到code参数都是写死的。。。
我竟然信以为真。。。。
大家看一下这个js脚本。
全是vm,调用栈都是vm。
根本不是js文件。。。
这个js脚本是由js文件生成的!!!!!
eval执行出来的。。。。。
经过调试我们找到这里!!
有key,有iv。和接下来的x_for_with一样都是AES,
key和iv都在变化,content也是。
content在返回的html页面里。
经过AES解密。
返回一段js函数,,,就是我们所看到js脚本
然后用eval执行。。。。
打打自己,让我长记性,,长记性。。。。。。。
这里感谢一下陈鹏辉先生。
然后会想,,怎么还没有发现X-FOR-WITH这个参数呢,别急。看一下可疑的地方,_()这是个什么东西呢????是不是有点恍然大明白的赶脚!
既然知道X-FOR-WITH这参数了,那后面跟的肯定是生成的参数呀,n = p(w)。那我们就进入p函数瞅瞅撒!!
然后这里就是整个生成过程咯!!
这里调试发现是AES加密。。。。不过我把代码全部抠出来了!!。。
然后结果,和刚才的一模一样。。
其实扣代码也没多少,,,只是扣着麻烦,,,
此处用python执行,得到结果!!!!
今天的分享到此结束了撒!!!谢谢大家的支持!!!
本文分享自 python爬虫与js逆向 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!