aardio玩模拟和post,说句实话我都溜溜熟了,但我不喜欢搞这些,总觉得有些人拿着个搞鬼的多。
闲话少叙,前几天一微信上朋友问我,说一学生用的查营养套餐的网站post能进入但不能查营养套餐,让我看看。而且直接360浏览器查询。别的浏览器不行。
什么鬼,进去看看,果然谷歌能登录不能查询。
分析抓包,发现最后查询的post里多了个头文件ccrf-token。
开始怀疑这个ccrf-token是js生成的,接着跟踪查询按钮所调用的脚本,追了会追到这
看了会没看到问题,哎,到底是哪里生成的ccrf-token呢??
再次去分析源网页,发现了这样一段。
什么鬼,把eval改成console.log浏览器下跑看看,一跑结果出来了
原来ccrf-token是这里生成的。
这样就好办了,直接aardio写对应代码解析
var tokstr = string.match(str,"eval\(\'(.+?)\'"); if(!tokstr) return win.msgbox("未找到关键数据"); tokstr = string.unhex(tokstr,"\x"); var token = string.match(tostring(tokstr),"\:\'(.+?)\'"); http.addHeaders = "ccrf-token:"++token;
上面的str是对应取回的网页html。
试验之,果然行了,至于这个网站为什么只能360浏览器行,别的都不行,其实360那个也是调的 IE模式,估计还是6,7都行。关键是网页上的L5.Ajax 的问题,看代码截图
头文件这么老,就不奇怪了。
厚积薄发,什么都不难!