声明:如有侵权,请告知删除,谢谢。
今天我们继续查找JS的入口。
目标地址:https://www.huanhuanhuishou.com/gujia/47.html
目的:爬取该网页上的商品价格 (4670)。
工具:Chrome浏览器 + 油猴插件
第一步:打开Chrome浏览器,地址栏输入网址,并按下F12,打开调试器,切换到Network面板,再按下回车,进行访问。
这个页面加载了很多很多:

先全局搜索商品价格:4670,发现搜索不到,那只有去一个一个页面看了。
在这里,我们只查看 XHR加载的页面:

从上面往下依次看看响应内容是否有可以之处,点到第三个页面时:

响应的是一段加密后的字符,既然要在前端显示,肯定有解密的函数,这个怎么搜索,先不讲,按下图的方式打上断点:

鼠标移动到 红色箭头 处,并点击弹出的第一个位置,打上断点:

再次刷新下页面,重新加载,停在了这里:

像往常一样跟堆栈:

跟到这里时,有个 可爱的 decode 函数,我们在 这行 打上断点:

按F8运行,很快就会来到这里:

F10 单步运行,看看这个 res的内容:

看到了 有个 oldprice 字段,其值是 4670,所以这里就应该是它显示的价格了。
再次刷新重新加载页面,我们重新看看参数:
var str = decode(res, code).str_replace(["+","x2b","x2B"],[" ","+","+"])res就是那一串加密的字符串,code在上面:
var code = xhr.getResponseHeader('content-text')code在 响应头的content-text字段,它的值我们在控制台下看看:

按F8运行,再看看响应头里的内容:

可以看出,果然这个code值就在这里。
全局搜索,decode函数在这里:

到此,入口已找到,请读者自行扣出代码进行验证。
找这种入口比较费劲,能不能写个脚本直接定位到decode函数呢?
答案是可以的,不过得提前知道它是怎样的解密函数。也就是把之前遇到过的类似的需要解密的函数写进一个数组里,然后依次查询是否有这样的函数。(有种碰运气的感脚)
我们来看看效果:

控制台直接显示出了这个函数,双击函数名,即可跟进去。再打上断点,轻松就能Hook到。
下面看看其他的网站及效果:
1.http://ac.scmor.com/

2.https://www.aqistudy.cn/html/city_detail.html

3.https://g.hongshu.com/content/93416/13877912.html

到这里,就不一一举例了,这样我们以后遇到一个添加一个,像爆破。
调试JS是个很需要耐心的过程,关注我,让我们一起进步。
本文介绍了一种通过Chrome浏览器和油猴插件查找并解析加密网页数据的方法,详细讲解了如何定位到解密函数,以及如何获取加密数据的真实值。
5897

被折叠的 条评论
为什么被折叠?



