动态爬虫漏抓 案例分析(三)
2017-9-7 20:4:11 Author: mp.weixin.qq.com(查看原文) 阅读量:2 收藏

最近忙着当码农,不debug也没遇到有意思的案例,只能分享个以前发现的漏抓案例~

案例URL: https://lvyou.baidu.com/main/event/rank

说是漏抓,实际上是动态分析超时导致没有结果返回。

动态爬虫里触发行内绑定事件的代码如下:

逻辑是遍历所有的节点的所有属性,执行以on开头的属性值,即 onclick=alert(1) 这种。

但是抓取上面案例的时候,发现一直没有返回结果,使用伟大的print调试法打印了触发的具体内容后,发现页面一直在不停的触发同一个事件。

for循环竟然会失效?

仔细看下页面源码:

登录应该是用JSONP来实现的,每次点击登录都会生成一个script标签,而且这个标签恰好还插入在了登录标签前面。

遍历数组的过程中,也在不断扩展这个数组。这就是问题的关键。

那应该怎么解决呢?本帅选了个比较蠢的方法:

看起来不是很优雅,或许你还有更好的方法?


文章来源: https://mp.weixin.qq.com/s?__biz=MzU4NjIxNzkyNQ==&mid=2247483723&idx=1&sn=9a6b5e2a9501eb0332a1125cb0ea5a06&chksm=fdffe1e1ca8868f73be9c331458b5a7765b82d53826dde9dbfc4f64deab8643f5516db3b3141&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh