XSS 處理
前端XSS 問題很難處理,雖然可能有做htmlencode
相關處理,但是程式還是會被判有風險。這邊整理一下那些做法。
DOMPurify
想說 OWASP
搞出這個東西應該有什麼可以解決方案。最後找到GitHub - ESAPI/owasp-esapi-js: An UNMAINTAINTED project originally exported from code.google.com/p/owasp-esapi-js. This project is deprecated. See the README.md for further details and possible alternatives.以廢棄不使用。
DEPRECATED - OWASP Enterprise Security API for JavaScript (ESAPI-JS)
|
|
所以使用DOMPurify。
DOMPurify 2.3.6 “Beastmaster”線上可以簡單測試過濾結果。
|
|
result:
|
|
|
|
result:
|
|
從上面得知
GitHub - cure53/DOMPurify: DOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and hooks. Demo:
通过混淆命名空间绕过DOMPurify实现XSS - 安全客,安全资讯平台(https://www.anquanke.com/post/id/219089)
OWASP JavaScript Security | OWASP Foundation