xss-跨站脚本攻击-后台传给前端的html标签安全显示

作用

后台拼接的html字符串传到前端,默认是不安全的,需要告诉前端这个字符串是安全的,可以正常显示html标签。


知识点

1、定义

恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的特殊目的。


2、工作流程

1)恶意用户,在一些公共区域(例如,建议提交表单或消息公共板的输入表单)输入一些文本,这些文本被其它用户看到,但这些文本不仅仅是他们要输入的文本,同时还包括一些可以在客户端执行的脚本。如:
1
2
3
<script>
     获取session,cookie,伪造成用户。。。。
</script>
2)恶意提交这个表单
3)其他用户看到这个包括恶意脚本的页面并执行,获取用户的cookie等敏感信息。

三种解决方法​

后台拼接字符串传到前端不显示问题​

1 传到前端是个变量

1
{{ 变量 | safe }}

2 需要simpletag处理的数据不能加safe

1
2
3
{% autoescape off %}
    {% 模板引擎函数 函数参数 %}
{% endautoescape %}

3 后端传往前端前就标记为安全的​

marksafe()

1
2
from django.utils.safestring import mark_safe
return mark_safe(传到前端的html字符串)




















posted @ 2016-04-08 15:57  大亮头  阅读(394)  评论(0编辑  收藏  举报