内容简介:在学习发出请求时,一般xss防御措施有三种:
在学习 JS
的过程中,你一定听说过 CSRF
攻击和 XSS
攻击。关于 CSRF
攻击,我已经在之前的文章中介绍过了,本文就来介绍一下 XSS
攻击。
XSS定义和原理
发出请求时, XSS
代码出现在 url
中,作为输入提交到服务端,服务端解析后响应, XSS
代码随响应内容一起回传给浏览器,最后浏览器解析并执行 XSS
代码。
XSS防御措施
一般xss防御措施有三种:
- 编码
- 过滤:原样显示用户输入内容时,要把不合法的内容过滤掉。
如dom属性、style属性、script节点、iframe节点等。 - 校正
使用dom parse转换,校正dom标签
XSS实战
1. 构建一个express应用
对于没有过 node
开发经验的同学,我这里简单介绍一下创建 express
应用的步骤。
- 创建一个目录
mkdir xss
- 利用
express
命令,在当前目录下创建一个express
脚手架express -e ./
- 安装所有依赖
npm install
- 启动服务
npm start
- 访问
localhost:3000
2. 修改脚手架代码,使得url中参数随响应内容回传给浏览器
var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express', xss: req.query.xss}); }); module.exports = router;
<!DOCTYPE html> <html> <head> <title><%= title %></title> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <body> <h1><%= title %></h1> <p>Welcome to <%= title %></p> <div> <%- xss %> </div> </body> </html>
3. 参数中携带有攻击性的脚本
携带 img
标签:
http://localhost:3000/?xss=<img src="null" onerror="alert(123)"
你会发现 alert
并没有弹出来,并看到浏览器端报错。
这是在响应头里默认加入了 xss
防御检查标志,浏览器做了 xss
防御保护。我们这里先关闭。
var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.set('X-XSS-Protection', 0) res.render('index', { title: 'Express', xss: req.query.xss}); }); module.exports = router;
https://blog.csdn.net/Lxd_0111/article/details/78028889
为什么要进行 url
编码?
HTTP
协议中参数的传输是“ key
= value
”键值对的形式,如果要传输多个参数要用“&”符号进行分割。这样服务器在接收到这种字符串的时候,会用“&”符号分割出每个参数,再用“=”分割出参数值。
现在有这样一个问题:当参数中包含“=”或“&”等特殊字符时,服务器解析字符串就会出错。所以,需要对特殊字符进行编码。
以上所述就是小编给大家介绍的《【web安全】深入浅出XSS攻击》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 深入研究攻击Serverless环境下的应用 SLS-1: 事件注入
- 深入研究攻击Serverless环境下的应用 SLS-3: 数据泄露
- 无心插柳还是有意为之:TCP反射DDoS攻击手法深入分析2.0
- 什么是CSRF攻击、什么是XSS攻击、什么是SQL输入攻击,如何防御攻击
- 对比DoS攻击与DDoS攻击
- 攻击云计算环境的8种攻击矢量
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
SEM修炼手册:百度竞价、信息流广告、数据分析与专题页策划实战详解
陈丰洲 / 电子工业出版社 / 2018-10 / 59.80元
SEM人员在职场打拼的过程中,会遇到一个又一个坑,《SEM修炼手册:百度竞价、信息流广告、数据分析与专题页策划实战详解》尝试站在一定的高度,将从业者从专员走向管理岗位过程中可能碰到的问题进行整理,不仅谈竞价推广,也谈基于SEM的营销体系。 《SEM修炼手册:百度竞价、信息流广告、数据分析与专题页策划实战详解》包括11章内容,由浅入深地分享SEM的进阶过程。第1章是SEM概述,让读者对SEM有......一起来看看 《SEM修炼手册:百度竞价、信息流广告、数据分析与专题页策划实战详解》 这本书的介绍吧!