meta元素导致页面重定向,产生钓鱼攻击
- 示例
<!DOCTYPE html>
<html>
<body>
<h1>我的第一个标题</h1>
<!-- 恶意攻击 -->
<meta http-equiv="refresh" content="0;url='http://www.25xt.com' "/>
</body>
</html>
- 防护方法
自然在用户提交的富文本中过滤掉该元素,我看在CSDN的博客中使用HTML代码时,meta标签在查看博文时被过滤掉了,所以不会触发攻击。
嵌入js代码场景
能够嵌入js代码的场景如下
- script标签
- 内联事件处理
- javascript:伪协议
script标签
- 示例
<!DOCTYPE html>
<html>
<body>
<h1>我的第一个标题</h1>
<!-- 恶意攻击 -->
<script> alert("hello")</script>
</body>
</html>
- 防护方法
提交的富文本禁用掉script元素
内联事件处理
- 示例
<!DOCTYPE html>
<html>
<body>
<h1>我的第一个标题</h1>
<!-- 恶意攻击 -->
<img src="http://xxxxx" onerror="alert('hello')"></img>
</body>
</html>
- 防护方法
提交的富文本要禁用所有的事件处理属性
- 示例
<!DOCTYPE html>
<html>
<body>
<h1>我的第一个标题</h1>
<!-- 恶意攻击 -->
<a href="javascript:alert('Hello!')">Click Me!</a>
</body>
</html>
- 防护
检查元素的链接属相(src、href等等),只允许http开头