匿名交友 — HeyMandi 網頁版 XSS

  1. 1. ID
  2. 2. Content
  3. 3. PayLoad
  4. 4. Describe
  5. 5. Repair


ID

《ZDID》ZD-2018-01160


Content

受測單位:HeyMandi
風險評估:低
漏洞類型:預存式跨站腳本攻擊 (Stored Cross-Site Scripting)
通報時間:2018/10/18


PayLoad

https://chat.heymandi.com/chat

Describe

若聊天室內的雙方都是使用HeyMandi APP,又或者雙方都是使用Web版的話,則不會觸發該漏洞。
代碼被執行的問題發生在攻擊方為APP版,受攻擊方為網頁版的情境下 (網址:https://chat.heymandi.com/chat)。

在此情境下APP方所發送的文字內涵有的Script並不會被有效過濾,因此語法可在另一端,也就是Web端上被執行。

滲透的一開始(上圖),測試代碼”<script>alert(1)</script>“,而結果是該代碼並不會被執行,但Script標籤的確有被植入成功

因此將代碼換成了”<img src="" onerror=alert(1)>“做第二次測試。

結果成功的執行出alert腳本。(如上圖)
另外包含”<h1>“、”<b>“等標籤,經測試也是可被執行的,以及其他大量未測試的語法,都可能含有被執行的風險。


Repair

在Web端傳送至APP端的語法會被轉為HTML編碼,
同理可將APP端傳送至Web端的語法也轉為HTML編碼以達到過濾語法的效果。

防護原則:
https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet