AJAX安全問題

非同步Javascript和XML(AJAX)是用於開發Web應用程式以提供豐富用戶體驗的最新技術之一。由於它是一項新技術,因此尚未完成許多安全問題,以下是AJAX中的少數安全問題。

  • 攻擊面更多,因為需要保護更多輸入。
  • 它還公開了應用程式的內部功能。
  • 無法保護身份驗證資訊和會話。
  • 客戶端和服務器端之間存在非常狹窄的界限,因此存在安全性錯誤的可能性。

 示例

以下是AJAX安全性的示例 -

2006年,蠕蟲感染了使用XSS和AJAX的雅虎郵件服務,利用了Yahoo Mail onload事件處理中的漏洞。當受感染的電子郵件被打開時,蠕蟲會執行其JavaScript,將副本發送給受感染用戶的所有Yahoo聯繫人。

動手實踐

第1步 - 我們需要嘗試使用XML注入為您允許的獎勵集添加更多獎勵。如下圖所示 -

第2步 - 確保使用Burp Suite攔截請求和回應。設置如下圖所示 -

攔截請求和回應

第3步 - 輸入方案中給出的帳號。我們將能夠獲得帳號獲得所有獎勵列表。我們有資格獲得5個獎勵。

第4步 - 現在我們點擊“提交”,看看在回應XML中得到了什麼。如下所示,我們有資格獲得的三個獎勵將作為XML返回。

第5步 - 現在編輯XML並添加其他兩個獎勵。

第6步 - 現在將向用戶顯示所有獎勵以供他們選擇。選擇我們添加的那些,然後單擊“提交”。

第7步 - 出現以下消息:“* Congratulations. You have successfully completed this lesson.”

預防機制

客戶端 -

  • 使用.innerText而不是.innerHtml
  • 不要使用eval。
  • 不要依賴客戶端邏輯來提高安全性。
  • 避免編寫序列化代碼。
  • 避免動態構建XML。
  • 切勿將加密資訊傳遞給客戶。
  • 不要在客戶端代碼中執行加密。
  • 不要在客戶端執行安全性影響邏輯。

伺服器端 -

  • 使用CSRF保護。
  • 避免編寫序列化代碼。
  • 用戶可以直接調用服務。
  • 避免手動構建XML,使用框架。
  • 避免手動構建JSON,使用現有框架。

上一篇: 未經驗證的重定向和轉發 下一篇: Web Service安全