(图片来源于百度,大家不要说我侵权。)
这是我第一篇关于js逆向分析的文章,如果有什么需要改进的地方,希望各位大佬多多指正。
(文章没有对各个细节讲得特别详细,只是将大概的解密思路,所以多多包涵,如果有问题请私聊。)
这次抓取的网站是酒仙网的商品详情页。
国际惯例,先抓包。
看到这里你似乎明白了什么,这个521的页面肯定存在这些什么秘密。点开看一下。
是的,一串js代码,今天我们要分析的就是这段js代码。
复制粘贴到编辑器,我这里用的是pycharm。
美女还是挺好看的,哦不对,代码还是挺好看的。
调试方法这里就不说了,不关你直接用ide调试还是在浏览器上面调试都可以,这个网站我们可以直接在浏览器上面调试。
上谷歌。
先分析一波,x,y首先可以看出来是主要的参数,每次返回521页面的时候x,y都是不同的,其余的代码都是一套流程,代码里有一段eval函数,直接把eval删掉改成变量去接收。
运行这段代码,打印一下hhh是什么。
秘密就在这段待执行的js代码中。
看到这个document.cookies没有,这玩意就是拿来给cookie赋值的语句
拿出来格式化一下。
直接把这段代码拿出来运行一下
好了,这就是我们要找的加密代码了,然后对比一下
好了这样一对比,解密之后的cookies就出来了。如果抓不到包,请清除浏览器缓存和cookie再抓。
现在我们就要考虑程序怎么写了。
我这里使用的是node环境
构建拿到cookie值得函数
直接在里面取到給document赋值的代码,eval执行,把document.cookie值返回出来。
至于x,y的赋值,可以拿到521返回值直接取到x,y的值拿到函数中运行。
firstChild.href='http://www.jiuxian.com/'另外这个值的赋值要给,不然可能报错,实际上加密代码只是其中一小部分,具体实现要靠小伙伴加油撸一遍了
当然,执行的时候需要构造document,还有其他一些对象。这些代码就不贴出来了,解密思路有了代码还是难事吗。
如果有需要代码的朋友可以私聊我。
再次对酒仙网说声抱歉。
下期见。