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中運行爬網程序並限制端口使用率是多餘的。 –

相關問題