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版,受攻擊方為網頁版的情境下 (網址: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