2

我想爬一组从URL生成器收到的随机的网站,使用Selenium的ChromeDriverCrawljax做对捕获的DOM状态静态代码分析。可以使用Selenium WebDriver进行自动化网页爬行会有危险吗?

是机器做爬行这种潜在的不安全?

我担心的是随机生成的一个网站是恶意和JavaScript从ChromeDriver的执行(这是用来捕捉新的DOM州)感染运行测试莫名其妙的机器。我应该在某种沙箱环境中运行吗?

- 编辑 -

如果它的事项,履带完全用Java实现。

+1

的Chrome运行在沙盒环境中的一切。如果你没有安装任何Chrome加载项,那么我不认为它是一个大问题。 但很多网站使用跟踪器,跟踪器可以跟踪您浏览的常见网站。所以你可以为每个域做一个单独的配置文件。但由于您只是抓取并不存储私人Cookie,因此在不同域中重复使用同一个实例也不应该是个问题 –

+0

非常感谢@TarunLalwani,您的评论应该是一个答案。 –

回答

1

答案很简单,没有。只有当你害怕cookies时,即使你是,你的机器也不是。

+0

因此,如果对所有网站使用相同的ChromeDriver实例,任何网站都可能会留下cookie,以通知其在其他网站上的抓取工具活动,对吧?如果是这样的话,是的,那不是那么可怕。我猜想一旦ChromeDriver的实例死亡,cookie就会被丢弃,但我猜这是我必须检查的。 –

0

很难说这是非常安全的,你应该知道的,有在network.Recently没有绝对的安全,铬RCE已经放出来了,细节: SSD Advisory – Chrome Turbofan Remote Code Execution – SecuriTeam Blogs

也许这可以在硒的ChromeDriver影响

但是你可以做一些强制执行您的系统上,如更改防火墙模式白名单,只允许你的python脚本和硒在端口80,443访问互联网。

即使您的系统被RCE使用,恶意代码仍然无法访问互联网,除非它向您注入python进程(我认为使用浏览器RCE中的js脚本非常困难)。

另一种选择:安装HIPS,如果你的python脚本只想抓取网页(比如启动其他进程)或者读/写一些其他文件,你就会知道它并决定该怎么做。

在我oppion,做你的事爬行在虚拟机中,并做防火墙(Windows防火墙或Linux的iptables),关闭无用的服务windows.That的足够一些强制执行。

总之,这是艰难的啮合找到安全性和便利性之间的平衡,不相信你的系统是牢不可破

+0

谢谢你的回答@伊丽莎白安妮。我看了一下你发布的链接,它提到,“下面的PoC将在攻击一个-no-sandbox chrome版本59时运行calc。”您是否认为该声明暗示Chrome的沙盒版本不会受此类漏洞影响?如果在沙盒模式下使用Chrome,我想知道在VM中运行爬网程序并限制端口使用率是多余的。 –

相关问题