首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web安全-跨站脚本攻击XSS

Web安全-跨站脚本攻击XSS

作者头像
dys
发布2018-04-02 17:23:17
1.3K0
发布2018-04-02 17:23:17
举报
文章被收录于专栏:性能与架构性能与架构

xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制 xss攻击可以分成两种类型: (1)非持久型攻击 非持久型xss攻击是一次性的,仅对当次的页面访问产生影响。非持久型xss攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户游览器执行,从而达到攻击目的 假设有以下index.php页面:

这时,当攻击者给出以下URL链接:

当用户点击该链接时,将产生以下html代码,带'attacked'的告警提示框弹出:

除了插入alert代码,攻击者还可以通过以下URL实现修改链接的目的:

当用户点击以上攻击者提供的URL时,index.php页面被植入脚本,页面源码如下:

(2)持久型攻击 持久型xss攻击会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在 例如留言板,攻击者输入内容 <img src=0 onerror=alert(5)/> 此信息就被保存到了数据库,那么以后所有显示此留言的页面都会弹出alert框

XSS的防御 基本原则:不相信任何用户的任何输入内容 对所有参数和提交的内容都要严格判断和过滤 (1)XSS的一些基本转义 html_escape javascript_string_escape url_escape css_string_escape (2)设置字符编码 避免如 utf-7 xss 等问题 (3)设置content-type 避免如json的xss等问题 例如 php 可以使用 htmlspecialchars 函数进行转义 例如 java 可以使用 WASP Java Encoder,Coverity Security Library(CSL)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档