2011-08-18 98 views
-2

說吧,我打電話給HTTPS服務器。服務器發回我的http響應。有沒有一種方法可以改變客戶端的http響應? (即任何javascript..etc)如何攔截客戶端的HTTPS響應?

謝謝。

---更新----

那麼,對於HTTP請求,讓說一個JavaScript製作與查詢= 123456 Ajax調用。當然,我可以攔截它並在將它發送出去之前更改query = 123456。 (如果我想破解)。

但是,當http響應返回時,是否可以攔截數據並在其到達瀏覽器之前對其進行更改。假設它是HTTPS。

---更多---

實際的程序我寫這封信需要從服務器上的數據進行保護。因爲JavaScript代碼將公開(因此任何人都可以注入到他們的頁面中),所以我必須確保從我的服務器發送的響應數據與JavaScript端接收到的響應數據相同。

抱歉,最初的問題不清楚。 :)

+2

我很困惑,你正在請求。一旦請求被瀏覽器處理完畢,你可以對頁面進行任何修改,但是我認爲你可以在請求到達瀏覽器之前攔截並修改請求。 – Nican

+0

你想如何改變回應?你能包括例子嗎? – Davidann

+0

請澄清,截至目前沒有任何意義。 –

回答

1

您可以做的最好的事情是確保從服務器發送的數據是正確的。就這樣。在客戶端,所有投注均按照定義。如果與服務器的連接是SSL安全的,那麼對於任何人來說數據都是亂七八糟的,但這絕不是不可能的。 HTTPS連接的一個優點是確認了服務器的身份。這是以安全鎖或綠色地址欄或什麼的形式顯示給用戶的。相反,當證書無效時,瀏覽器會向用戶抱怨。這完全取決於用戶注意或忽略所有這些。

Javascript可以在客戶端操作,也可以通過服務器和客戶端之間的中間人攻擊操作,數據可以用同樣的方式操作,但不能保證客戶端有任何東西。這就是爲什麼客戶不應該被委託去做重要的事情,服務器需要在任何事情上有最後的發言權。 SSL可以幫助向用戶指示連接是否可信,但不能保證。

0

您可以創建代理並讓您的流量通過代理。代理將不得不使用適當的證書「解密」流量,然後「加密」它並將其發送出去。但你爲什麼想要?這聽起來很惡毒。

我沒有看到什麼好的更改數據去瀏覽器將要做,除非你試圖欺騙suer。

試着用小提琴演奏一下。

+0

嗯..但代理服務器必須創建或指定,對吧?只需要雙重確認 – murvinlai

+0

沒有代理可以部署在任何位於客戶端和服務器之間的地方。 –

+0

您可以使用WebScarab,Burp,Paros或Charles等代理工具。最簡單的方法是在客戶端上運行代理。配置瀏覽器以使用代理。將需要2個TLS頻道。從瀏覽器到代理的流量將使用代理提供的證書。從代理到服務器的流量將使用服務器的證書。配置代理以攔截響應。 –