web 安全问题(二):XSS攻击
上文说完了CSRF攻击,本文继续研究它的兄弟XSS攻击。
什么是XSS攻击
XSS攻击的原理
XSS攻击的方法
XSS攻击防御的手段
什么是XSS攻击
XSS攻击全名(Cross-Site-Script)跨域脚本攻击,为了跟CSS(Cascading-Style-Sheet)区分开来,所以缩写是XSS。
XSS攻击的原理
上一节说道的CSRF攻击是利用的是“伪请求”,这一节的XSS的原理是利用脚本注入的方式。
主要是依靠一切可能的手段,将浏览器中可以执行的脚本(javascript)植入到页面代码中,从而获取用户cookie甚至账号密码等敏感数据使用户造成的一定的损失。
通常利用的是目标网站的发帖、发布产品等需要用户输入的地方,将脚本混淆到html输入中,上传到服务器,再诱导别的用户打开此页面,执行脚本的一个过程。
XSS攻击的方法
xss漏洞是对web客户端(浏览器)的攻击,所以说植入的代码基本上以javascript和html标签(有时也有结合css样式的xss向量)为主。
一般有四种方法:
- 页面标签附带脚本
- Dom 属性附带脚本
- 请求地址附带脚本
- 回车空格突破过滤限制
举两个小李子:
<script>alert('xss')</script>
<img scr=1 onerror=alert('xss')>
<a href=javascrip:alert('xss')>s</a>
<iframe src=javascript:alert('xss');height=0 width=0 />
<img src=x onerror=appendChild(createElement('script')).src='js_url' />
<img src = “#”/**/onerror = alert(/XSS/)>
<img src = j
ava script :a ler t(/xss/)>
XSS攻击防御的手段
因为XSS的根本就是向网站插入脚本代码,并使它运行的一种手段。防御方法分为两种,服务端防御和客户端防御。
服务端防御:
1. HttpOnly
可以限制javascript不能读取cookie,防止会话ID泄露
2.处理富文本
过滤掉富文本中的敏感标签如(script、iframe、form),还有敏感词(javascript:) 等等
客户端防御:
1. 输入检查
防止输入敏感字段,如javascript、cookie等等
2. 检查输出
脚本都是通过混淆在HTML当中,被当成html代码的一部分才得到执行。
可以通过编码转义的办法,使得混淆在其中的脚本被当成文本处理,不会被执行。
编码转义的话,有三种方法:
1. HTML encode
将字符转换成HTMLEntities,一般会转(&、<、>、"、'、/)这6个字符。一般是在html标签属性输出的时候使用
2. JavaScriptEncode
使用”\“对特殊字符进行转义。
一般在script标签输出、事件输出、CSS输出
3. URL Encode
使用URLEncode的方法。
参考:
XSS的原理分析与解剖
跨站脚本攻击(XSS)——常见网站攻击手段原理与防御
XSS攻击及防御
XSS攻击的解决方法
web 安全问题(二):XSS攻击的更多相关文章
- 安全学习笔记-web安全之XSS攻击
web安全之XSS攻击 XSS 即跨站脚本攻击,是 OWASP TOP10 之一.它的全称为 Cross-site scripting,因为 CSS 这个简称已经被占用表示为前端三剑客之一的CSS,所 ...
- WEB安全测试之XSS攻击
目录结构 1.背景知识 2.XSS漏洞的分类 3.XSS防御 4.如何测试XSS漏洞 5.HTML Encode 6.浏览器中的XSS过滤器 7.ASP.NET中的XSS安全机制 一.背景知识 1.什 ...
- Web 安全之 XSS 攻击与防御
前言 黑客,相信大家对这一名词并不陌生,黑客们往往会利用 Web 应用程序的漏洞来攻击咱们的系统.开放式 Web 应用程序安全项目(OWASP, Open Web Application Securi ...
- web安全之XSS攻击原理及防范
阅读目录 一:什么是XSS攻击? 二:反射型XSS 三:存储型XSS 四:DOM-based型XSS 五:SQL注入 六:XSS如何防范? 1. cookie安全策略 2. X-XSS-Protect ...
- 记一次JAVA WEB项目解决XSS攻击的办法(亲测有效)
什么是XSS攻击 简单来说,XSS 攻击是页面被注入了恶意的代码,度娘一大堆的东西,不想说 系统架构主要是SSM框架,服务层另外使用了DubboX. 为啥说这个,因为SpringMVC对于Xss攻 ...
- web安全之xss攻击
xss攻击的全称是Cross-Site Scripting (XSS)攻击,是一种注入式攻击.基本的做法是把恶意代码注入到目标网站.由于浏览器在打开目标网站的时候并不知道哪些脚本是恶意的,所以浏览器会 ...
- 基于web站点的xss攻击
XSS(Cross Site Script),全称跨站脚本攻击,为了与 CSS(Cascading Style Sheet) 有所区别,所以在安全领域称为 XSS. XSS 攻击,通常指黑客通过 HT ...
- 常见Web安全漏洞--------XSS 攻击
1,XSS 攻击 XSS攻击使用Javascript脚本注入进行攻击 例如在提交表单后,展示到另一个页面,可能会受到XSS脚本注入,读取本地cookie远程发送给黑客服务器端. <script& ...
- web安全(xss攻击和csrf攻击)
1.CSRF攻击: CSRF(Cross-site request forgery):跨站请求伪造. (1).攻击原理: 如上图,在B网站引诱用户访问A网站(用户之前登录过A网站,浏览器 cookie ...
- WEB安全实战(二)带你认识 XSS 攻击
前言 上一篇文章写了关于 WEB 安全方面的实战,主要是解决 SQL 盲注的安全漏洞.这篇文章本来是要写一篇关于怎样防治 XSS 攻击的,可是想来想去,还是决定先从理论上认识一下 XSS 吧.下一篇文 ...
随机推荐
- Java从零开始学二十八(Math类和Random类)
一.Math概述 提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率) 二.常用方法 package com.pb.demo1; public class MathTest { ...
- hdu4059The Boss on Mars 容斥原理
//求1到n之间与n互质的数的四次方的和 //segma(n^4) = (6n^5+15n^4+10n^3-n)/30 //对于(a/b)%mod能够转化为(a*inv(b))%mod //inv(b ...
- 如何分析Java虚拟机死锁
Thread Dump and Concurrency Locks Thread dumps are very useful for diagnosing synchronization relate ...
- 设定StatusBar的文字成不同的颜色
设定StatusBar上的文字,该文字以StatusBar所在Form的字型设定为准,并以form的ForeColor为字的颜色,文字过长时,自动会截除这个程式的实质意义不太大,因为当文字被盖掉後需自 ...
- windows 配置ftp server
- CF MVC3此操作要求连接到 'master' 数据库。无法创建与 'master' 数据库之间的连接,这是因为已打开原始数据库连接,并且已从连接字符串中删除凭据。请提供未打开的连接 解决方法
<add name="ProwebEntities" connectionString ="Data Source=.;Integrated Security=tr ...
- opencv实现gamma灰阶检測
简单介绍 本篇解说使用opencv来測试,表示camera gamma參数的灰阶卡图片指标:YA Block.DynamicRange.Gray Scale. 详细实现 实现代码 #include & ...
- Swift3 获取版本号,比较版本大小
Swift获取应用版本号:version 1.获取本地版本号 /// 获取本地版本号 func getLocalVersion() -> String { var localVersion:St ...
- HDUOJ-----4510 小Q系列故事——为什么时光不能倒流
小Q系列故事——为什么时光不能倒流 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)T ...
- HDUOJ---(1995)汉诺塔V
汉诺塔V Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...