web安全之XSS攻击

XSS攻击及防范

1. 什么是XSS?

CSRF(Cross-site request forgery),中文名称:跨站请求伪造。 将恶意代码植入到提供给其他用户使用的页面中,简单的理解为一种javascript代码注入。

2. XSS危害

  • 挂马
  • 盗取用户Cookie。
  • DOS(拒绝服务)客户端浏览器。
  • 钓鱼攻击,高级的钓鱼技巧。
  • 删除目标文章、恶意篡改数据、嫁祸。
  • 劫持用户Web行为,甚至进一步渗透内网。
  • 爆发Web2.0蠕虫。
  • 蠕虫式的DDoS攻击。
  • 蠕虫式挂马攻击、刷广告、刷浏量、破坏网上数据

3.XSS分类

XSS分为三类:

  • 反射型XSS(非持久型)
    • 发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS。
  • 存储型XSS(持久型)
    • 存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。
  • DOM XSS(客户端)
    • DOM XSS和反射型XSS、存储型XSS的差别在于DOM XSS的代码并不需要服务器参与,触发XSS靠的是浏览器端的DOM解析,完全是客户端的事情。

4.XSS的防御措施:

  • 过滤转义输入输出
  • 避免使用eval、new Function等执行字符串的方法,除非确定字符串和用户输入无关
  • 使用cookie的httpOnly属性,加上了这个属性的cookie字段,js是无法进行读写的
  • 使用innerHTML、document.write的时候,如果数据是用户输入的,那么需要对象关键字符进行过滤与转义

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏飞雪无情的博客

Go语言经典库使用分析(五)| Negroni 中间件(一)

上一篇介绍的Gorilla Handlers中间件,严格来说不能称之为一个库或者框架,他只是一系列包装http.Handler的中间件函数,并且他们之间没有任何...

633
来自专栏阿杜的世界

Spring实战2:装配bean—依赖注入的本质主要内容

任何一个成功的应用都是由多个为了实现某个业务目标而相互协作的组件构成的,这些组件必须相互了解、能够相互协作完成工作。例如,在一个在线购物系统中,订单管理组件需要...

812
来自专栏码神联盟

碎片化 | 第四阶段-56-ManyToOne和OneToMany映射关系-视频

http://v.qq.com/x/page/f0567zgfet1.html ManyToOne (多对1) 表结构: note表----userno...

3268
来自专栏JavaNew

Spring Boot实战:Restful API的构建

3408
来自专栏技术小讲堂

ASP.NET AJAX(2)__ASP.NET 2.0 AJAX Extensions

ASP.NET 2.0 AJAX Extensions为我们提供的主要功能如下 序列化和反序列化 客户端访问Web Service方法 服务器端AJAX控...

3006
来自专栏进击的程序猿

第1章: Spring 基础第1章:Spring 基础

为了体验spring,所以建立的是一个 maven quick start 的项目,建立后的 pom.xml 配置如下:

694
来自专栏阿杜的世界

Spring Boot Error Response

在昨天的文章最后,我提到一个问题,就是我的例子对错误处理的设计不够。按照RESTful的设计,既然请求是借助HTTP的方法,那么返回信息也应该借助HTTP的状态...

501
来自专栏Netkiller

Spring @RequestBody 传递 List/Map 参数

本文节选自电子书《Netkiller Java 手札》 6.1.4. @RequestBody 处理 raw 原始数据,例如提交的时 application/j...

5527
来自专栏抠抠空间

爬虫之UserAgent

1240
来自专栏张善友的专栏

Contact Manager Web API 示例[2] Web API Routing

联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地...

1886

扫码关注云+社区