前端安全系列(一):如何防止XSS攻击? (9)

模板引擎经过解析后,得知三个插入点所处的上下文,自动选用相应的转义规则:

<html>
<head>
  <meta charset="UTF-8">
  <title>{{.title | htmlescaper}}</title>
</head>
<body>
  <a href="{{.url | urlescaper | attrescaper}}">{{.content | htmlescaper}}</a>
</body>
</html>

目前已经支持 Automatic Context-Aware Escaping 的模板引擎有:

go html/template

Google Closure Templates

课后作业:XSS 攻击小游戏

以下是几个 XSS 攻击小游戏,开发者在网站上故意留下了一些常见的 XSS 漏洞。玩家在网页上提交相应的输入,完成 XSS 攻击即可通关。

在玩游戏的过程中,请各位读者仔细思考和回顾本文内容,加深对 XSS 攻击的理解。

alert(1) to win prompt(1) to win XSS game

参考文献

Wikipedia. Cross-site scripting, Wikipedia.

OWASP. XSS (Cross Site Scripting) Prevention Cheat Sheet, OWASP.

OWASP. Use the OWASP Java Encoder-Use-the-OWASP-Java-Encoder), GitHub.

Ahmed Elsobky. Unleashing an Ultimate XSS Polyglot, GitHub.

Jad S. Boutros. Reducing XSS by way of Automatic Context-Aware Escaping in Template Systems, Google Security Blog.

Vue.js. , Vue.js.

React. , React.

下期预告

前端安全系列文章将对 XSS、CSRF、网络劫持、Hybrid 安全等安全议题展开论述。下期我们要讨论的是 CSRF 攻击,敬请关注。

作者介绍

李阳,美团点评前端工程师。2016年加入美团点评,负责美团外卖 Hybrid 页面性能优化相关工作。

img

出处:https://segmentfault.com/a/1190000016551188

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwsspx.html