2010-11-04 65 views
0

可以說我的JavaScript做了一個ajax請求,並且在回調函數中它沒有檢查response_text的任何內容,而是做eval(response_text)。這是安全可變性,XSS還是CSRF?

有些東西告訴我這不好,但爲什麼以及它如何被eplove?不會總是我的服務器,它會發送它的好數據?

+0

你不應該按照這種做法......發回一些東西,它可以幫助你決定在客戶端運行什麼代碼,而不是代碼本身。 – kapa 2010-11-04 10:21:58

回答

1

如果它來自不可信來源,那麼這將容易受到XSS的影響。攻擊者可以在你的網站上調用一個函數。

想一想攻擊者將腳本標記附加到從其站點加載腳本的文檔中的情況。

+0

如果eval(response_txt +「(const_argu)」)的rsponse_text被一個常量字符串作爲eval的參數? – rapadura 2010-11-17 11:32:14

+0

考慮到response_txt是任意文本,這仍然可以被利用。如果您完全信任response_txt的來源,那麼您可能會承擔風險。 例如如果response_txt =「something_malicious(); what_you_want」你最終得到的是eval(「something_malicious(); what_you_want(const_argu)」)。 但您可以輕鬆驗證響應文本,如果它應嚴格爲可能是下劃線的字母數字字符串。 – partoa 2010-11-17 15:03:20

相關問題