2013-08-19 86 views
0

例如,如果我在www.facebook.com上,我想注入一個腳本來分析他們的DOM?一種方法是打開控制檯,比使用類似將腳本注入其他人的域名最簡單的方法是什麼?

document.createElement('script'); 

,然後設置src屬性等

這是做的最好的方法是什麼?

+1

@duffymo:在控制檯中? – SLaks

+0

定義「最佳」 - 你是否想經常這樣做,或者只是一次? –

+0

@johnnysirocco SLaks很可能引用了隨後被刪除的評論。 –

回答

4

如果你想檢查某人的DOM,它可能是最容易使用JS控制檯或調試器(如果您的瀏覽器提供它本身或者作爲附加像螢火蟲)。

您可以使用像Burp或ZAP這樣的代理服務器攔截來自網站的響應並注入您自己的JavaScript。

您可以使用網絡爬蟲複製網站。您應該首先獲得許可,確保您不違反服務條款,並確保您有足夠的空間。然後,你可以與該網站你的心臟的內容:)

作爲另一種選擇玩,你可以使用像XSSshell發動機,裝載您想要在XSSshell檢查網站泄露的網絡瀏覽器,然後加載你想代碼加載到XSSshell。

或者,您可以設置您自己的DNS服務器,指定foo.facebook.com等本地IP地址,但其他所有內容爲facebook.com。根據FB如何管理他們的網站(新的HTTP標頭,cookie路徑),您可以在瀏覽FB時從本地服務器運行JavaScript。

如果你確實真的想編寫在REAL網站上下文中執行的代碼,而不僅僅是一個副本,並且你不關心違反法律,你需要找到一個跨站點腳本漏洞。這也可以讓你將自己的JavaScript加載到目標服務器的執行環境中。我不建議這一個 - 至少,不是如果不合法擁有目標環境:)

+0

是的,對網頁的更改將有權訪問網頁的DOM。你輸入的內容可能會執行或不執行......我完全依賴於你輸入的內容。例如,卸載可能已經執行,所以試圖掛鉤onload可能不會做任何事情。另一方面,定義一個函數,然後設置一個UI元素的onmouseover觸發器可能會執行。 – atk

+0

還應該提到,如果您使用控制檯/調試器,則不需要插入代碼。你可以直接檢查Dom – atk

2

我建議編寫一個瀏覽器插件,因爲這實際上是瀏覽器允許代碼只被「注入」到頁面中的唯一方式。有一個瀏覽器插件,我認爲它叫做「Better Facebook」或類似的東西,這樣做會在頁面加載後對DOM進行掃描,並對其進行分析+修改(以使其「更好」)

http://developer.chrome.com/extensions/getstarted.html

https://developer.mozilla.org/en-US/docs/Building_an_Extension

http://www.techradar.com/us/news/internet/the-beginner-s-guide-to-greasemonkey-scripting-598247

+0

我不會推薦編寫一個真正的瀏覽器插件... Greasemonkey的一個簡單腳本應該足夠,並且更便攜。 – Kapep

+1

@kapep好點,也是我加入Greasemonkey鏈接的原因之一。從來沒有使用過它,但它確實看起來非常強大。 – 2013-08-19 19:35:08

相關問題