XSS漏洞修復心得

什麼是XSS攻擊

  舉個例子,簡單說。
  假如CSDN的文章評論有XSS漏洞。黑客在一篇正常的博客下面評論一段有危險腳本的評論,當你的瀏覽器打開這篇博客,並加載到那條有問題的評論時,會自動執行危險腳本,這個腳本會盜取你csdn當前的cookie等一些操作。

一次XSS漏洞修復經歷

  週一上班,收到安全部門發來的一個工單,說我們的應用A存在XSS漏洞。但是我記得這個應用的XSS漏洞之前修復過。
  仔細看了下漏洞復現,這次比較高級,他用了HTTP工具叫Burp Suite,我在另一篇博客中也轉載了Burp Suite的內容,地址:https://blog.csdn.net/qq1332479771/article/details/104798524。

先說一下應用A的正常操作流程:

  1. 用戶打開應用A的頁面時,會將一些數據填充到form表單的hidden類型的input框中;
  2. 用戶在form表單中再勾選一些按鈕,輸入一段文本,然後提交這些信息;
  3. 後端接收這個form數據,並將這些數據存入數據庫中。

  以前,XSS漏洞發生在用戶的輸入文本中,用戶在自定義數據的文本框中輸入問題js腳本,便會導致在其他頁面展示時,執行問題js腳本。這個問題已經被修復。
  這次,安全工程師在提交數據時,用HTTP工具修改了hidden類型的input中的字符串數據。而這個數據也是會在其他頁面展示的,便導致了這次的XSS漏洞。

如何處理

  發現了問題原因處理起來便很簡單,hidden類型input框的數據是默認已知的,這些數據不在通過form表單從前端獲取,而是在數據入庫時,通過再次調用接口補全這些數據。

對於XSS漏洞,寫代碼時應該注意的地方

  所有通過HTTP接口獲取的字符串類型的數據,若需要再次展示在其他應用的其他頁面,均需要考慮XSS問題。

聯想到CSDN的自定義博客模塊功能

  記得以前CSDN支持用戶自定義編輯博客模塊,裏面可以自定義任何內容,包括jsiframe,我當時自定義了一個Google搜索本站的功能,用的 iframe組件,也有人將自己的微博嵌入進來。

  後來CSDN不讓在裏面放JS,再後來到現在這個自定義博客模塊只對會員和專家開發放了。

  用安全的眼光來看,以前是極其危險的。黑客在自己的博客的自定義專欄植入危險腳本,那麼所有訪問他博客的用戶均可以被他盜取cookie,或者被他利用執行DDos等操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章