新型爬虫怎么构建“网站URL采集”这件小事?(内附视频演示)

优采云 发布时间: 2020-08-12 06:00

  随着 Web 发展的日渐成熟,人们开始步入“数字化生存”时代。网上银行、电子商务、个人空间、云存储等不断涌向生活,Web 应用安全问题也日渐显现。

  根据 Gartner 的调查,信息安全功击有75%都是发生在 Web 应用而非网路层面上。同时,OWASP 发布的数据也显示,三分之二的 Web 站点都相当脆弱,易受功击。

  对 Web 应用的安全性进行手工测试和审计是一项复杂且历时的工作,对于安全运维人员来说,基于安全的管理占用大量工作时间。自动化的 Web 漏洞扫描器才能急剧简化针对安全隐患的测量工作,有助于安全运维人员将精力转向怎样处理安全风险上来。

  一般来讲,Web 漏洞扫描器是基于 URL 的漏洞扫描工具,在工作时须要解决采集和核心检查两个关键问题:

  怎样去评价一个扫描器的优劣?首先要关注的就是:采集的 URL 够不够全面?资产采集不全,检测准确率就无从谈起。

  在 Web 漏扫中,采集输入源的方法通常包括爬虫、流量、代理和日志,其中爬虫是获取扫描网站 URL 最常见的、不可或缺的一种主动采集模式。

  Web 漏洞扫描器的爬虫面临着比其他网路爬虫更高的技术挑战,这是因为漏洞扫描器的爬虫不仅仅须要爬取网页内容、分析链接信息,还须要尽可能多的触发网页上的各类风波,从而获取更多的有效链接信息。

  然而,现有的爬虫受限于其在技术上的先天不足,给使用 Web 漏洞扫描工具的安全运维人员引起了众多困惑:

  通常情况下,网站的防火墙会对某个固定 IP 在某段时间内恳求的次数做限制,如果没有超过上限则正常返回数据,超过了,则拒绝恳求。值得说明的是,IP限制大多数时侯是出于网站安全缘由针对 DOS 攻击的防御举措,而不是专门针对爬虫的。但是传统爬虫工作时,机器和 IP 有限,很容易达到 WAF 设置的 IP 上限而造成恳求被拒绝。

  时代,Web 应用与用户交互非常频繁,给漏扫爬虫引起了干扰。以输入验证码登陆为例,网站将一串随机形成的数字或符号,生成一幅图片, 图片里加上一些干扰象素(防止 OCR),由用户肉眼辨识其中的验证码信息,输入表单递交网站验证,验证成功后就能使用某项功能。传统爬虫在碰到这些情况时,通常无法手动处理。

  JavaScript 框架的诞生是研制工程师在效率至上时代的一大福音,工程师们得以甩掉了开发与维护之苦。毋庸置疑,Angular、React、Vue 等单页应用的 Web 框架成了开发者的首选,JavaScript 解析的网页日渐普及,所以网页中大多数有用的数据都是通过 ajax/fetch 动态获取后之后再由js填充到网页 DOM 树中,单纯的 HTML 静态页面中有用的数据甚少,这也直接造成了 Web 漏扫爬虫的爬取不全面问题。

  纵观市面上常用的漏洞扫描产品,所使用的爬虫一般收录以下两类,即传统爬虫和聚焦爬虫:

  它的工作流程是从一个或若干初始网页的 URL 开始,获得初始网页上的 URL,在抓取网页的过程中,不断从当前页面上抽取新的 URL 放入队列,直到满足系统设置的一系列停止条件,爬取操作停止。

  聚焦爬虫的工作流程比传统爬虫复杂,需要按照一定的网页剖析算法过滤与扫描目标无关的 URL,保留有用的 URL,并将其倒入等待抓取的 URL 队列。然后,它将按照一定的搜索策略从队列中选择下一步要抓取的网页 URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统储存,进行一定的剖析、过滤,并构建索引,以便以后的查询和检索;所以一个完整的聚焦爬虫通常会收录如下三个模块:网络恳求模块、爬取流程控制模块、内容剖析提取模块。

  然而,无论是传统爬虫还是聚焦爬虫,因其技术上的先天不足,导致在网站采集 URL 时均存在难以手动处理网页交互、JavaScript 解析以及极易触发外界 WAF 防御举措限制等问题。

  洞鉴(X-Ray)安全评估系统针对目前用户碰到的漏扫爬虫采集目标URL不全的问题,创造性地提出了基于语义剖析、机器学习技术和*敏*感*词*真实时渲染 DOM 遍历算法的“新型爬虫”:

  对于传统网站,在聚焦爬虫的基础上,长亭科技创新采用 js 语义剖析算法,针对 WAF 对 DOS 攻击采取的 IP 访问限制防御举措,洞鉴(X-Ray)爬虫会在本地对 JS 文件进行剖析,从理解语义的基础上来解析网站结构,不会疯狂触发恳求,从而防止了因超过 IP 访问限制,而被拒绝访问的情况发生。

  对于单页应用网站,洞鉴(X-Ray)内嵌了模拟浏览器爬虫。通过运用机器学习技术,洞鉴(X-Ray)的模拟浏览器爬虫以各种 Web 应用页面结构作为训练样本,在访问每位页面时,可以智能地判定各类交互操作,其判定逻辑大约是这样的:

  针对采用 JavaScript 解析的单页Web应用,洞鉴(X-Ray)模拟浏览器创新引入*敏*感*词*真实时渲染 DOM 遍历算法,在这些算法引擎的驱动下,可以完美解析 Angular、React、Vue 等 Web 框架实现的单页应用网站,对 Web 页面中所有内容进行操作,达到全面获取目标网站 URL 信息的目的,其判定逻辑如下:

  在机器学习技术和*敏*感*词*真实时渲染 DOM 遍历算法的驱动下,洞鉴(X-Ray)模拟浏览器爬虫智能模拟人的行为,自动进行单击、双击、拖拽等操作,从而防止了传统爬虫在 URL 获取时未能满*敏*感*词*互和难以应对 JavaScript 解析等问题。

  下面以访问 DVWA 为例,展示模拟浏览器的行为

  以网上银行、电子商务、云存储等 Web 应用为代表的 时代早已将至,洞鉴(X-Ray)安全评估系统蓄势待发,你,准备好了吗?

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线