Web安全-跨站脚本攻击XSS

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)

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2015-10-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏wblearn

我的Github之Pull request的使用

GitHub已经成为的一切开放源码软件的基石。开发人员喜欢它,基于它进行协作,并不断通过它开发令人惊叹的项目。除了​​代码托管,GitHub的主要吸引力是使用它...

12720
来自专栏Laoqi's Linux运维专列

Nginx+Tomcat实现Web服务器的负载均衡

51060
来自专栏IT笔记

Tomcat优化之配置线程池

简介 线程池作为提高程序处理数据能力的一种方案,应用非常广泛。大量的服务器都或多或少的使用到了线程池技术,不管是用Java还是C++实现,线程池都有如下的特点:...

35980
来自专栏用户2442861的专栏

nginx的配置、虚拟主机、负载均衡和反向代理(2)

上一篇中,我仔细了学习了一下nginx的各个模块的详细讲解,基本对它的一个整体有了一个把握。这一篇就来几个实际的例子来看下虚拟主机、负债均衡和反向代理,是如何...

23020
来自专栏闵开慧

hadoop图解

gateway机器是跳板机,提交job到云梯的,在gateway机器上只要配置hadoop-site.xml即可,配置文件中主要是指定jobtracker的地...

411100
来自专栏云计算教程系列

如何在Debian 7上使用wget命令寻找失效的链接

您多少次点击网页上的HTML链接只是为了获得404 Not Found错误?存在断开的链接,因为网页有时会随时间移动或删除。网站管理员的工作是在人类网络访问者或...

42230
来自专栏cmazxiaoma的架构师之路

Redis、Jmeter、MySQL的那些事

23540
来自专栏乐沙弥的世界

Percona XtraDB Cluster集群线程模型

Percona XtraDB集群创建一组线程来为其操作提供服务,这些线程与现有的MySQL线程无关。有三个主要线程组:

8900
来自专栏PHP在线

从运行原理及使用场景看Apache和Nginx

用正确的工具,做正确的事情。 本文只作为了解Apache和Nginx知识的一个梳理,想详细了解的请阅读文末参考链接中的博文。 Web服务器 Web服务器也称为W...

56070
来自专栏机器之心

资源 | 数据科学家必备的21个命令行工具

选自active wizards 机器之心编译 参与:蒋思源 在该篇文章中,我们将介绍用于快速分析存储于文本文件(日志、报文等等)中的数据的便利工具。 通常我们...

30480

扫码关注云+社区

领取腾讯云代金券