2019-11-20:xss学习笔记
xxe漏洞防御
使用开发语言提供的禁用外部实体的方法
php
libxml_disable_entity_loader(true);
卢兰奇对象模型,bom
由于现代浏览器实现了js交互性方面的相同方法和属性,因此常被认为是bom的方法和属性
例如
windows对象
所有的浏览器都支持windows对象,它表示浏览器窗口
所有的js全局对象,函数以及变量均自动称为windows对象的成员
全局变量是windows对象的属性
全局函数是windows对象的方法
甚至html dom 的document也是windows对象的属性之一
window.document.getElementById("header");
与此相同
document.getELementById("header");
windows.locaion对象在编写时可以不使用windows这个前缀
location.pathname 当前页面路径
location.hostname 当前页面主机名
location.port 当前端口
location.protocol 当前协议
navigator.appCodeName 浏览器代号
navigator.appNmae 浏览器名称
navigator.appVersion 浏览器版本
navigator.cookieEnable cookie
navigator.platform 硬件平台
navigator.userAgent 用户代理
xss漏洞原理
xss又叫css,全称为跨站脚本攻击,指的是攻击者往web页面或url里插入恶意js脚本代码,如果web应用程序对于用户输入的内容没有过滤,那么当正常用户浏览器该页面的时候,嵌入在web页面里的恶意js脚本代码会被执行,从而达到恶意攻击正常用户的目的
xss会造成的危害
cookie窃取
键盘记录
客户端信息探索
xss getshell
页面劫持
xss蠕虫
其他危害,如dos攻击,挖矿等
xss漏洞分类
反射性xss,一次性提交数据,服务端没有过滤或过滤不严谨,最后把处理后的数据返回到前端,一次性触发
存储型xss,服务器将攻击者提交的恶意代码,存储到后台数据库中,当正常用户去访问页面时,该页面会加载数据,那么恶意代码会加载到正常用户浏览器,被浏览器解析,永久性的触发
dom型xss,和反射性xss相似,前端接收过来的数据去当前页面中通过dom节点构造页面元素,或前端提交数据到后端,由后端构造页面在发送到前端,一次性触发
2019-11-20:xss学习笔记的更多相关文章
- DirectX 11游戏编程学习笔记之8: 第6章Drawing in Direct3D(在Direct3D中绘制)(习题解答)
本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com 注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...
- DirectX 11游戏编程学习笔记之6: 第5章The Rendering Pipeline(渲染管线)
本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com 注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...
- DirectX 11游戏编程学习笔记之1: 开场白
本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com 这是我之前的博客系列"DirectX9.0c游戏开发手记之'龙书'第二版学习笔记 ...
- Hive0.11安装配置学习笔记
转:http://springsfeng.iteye.com/blog/1734517 1 . 首先请安装好MySQL并修改root账户密码,使用root账户执行下面命令: su - root ...
- DirectX 11游戏编程学习笔记2: 文章1章Vector Algebra(向量代数)
本文由哈里_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com 注:我给的电子版是700多页.而实体书是800多页,所以我在提到相关概念的时候.会使用章节号而 ...
- 【转载】XSS学习笔记
XSS的分类 非持久型 非持久型XSS也称反射型XSS.具体原理就是当用户提交一段代码的时候,服务端会马上返回页面的执行结果.那么当攻击者让被攻击者提交一个伪装好的带有恶意代码的链接时,服务端也会立刻 ...
- c++11 线程池学习笔记 (一) 任务队列
学习内容来自一下地址 http://www.cnblogs.com/qicosmos/p/4772486.html github https://github.com/qicosmos/cosmos ...
- Jerry Wang从2017年到2019年的自由泳学习笔记
打腿 把注意力调整到脚部,尽量不要让他打出水面,因为在空气中大腿完全是无用功,但是如果只是脚跟出水一点,倒也没什么关心,但是主观上,要控制一下,如果你听到你的打腿是"咚咚咚咚"这样 ...
- Linux(9.14-9.20)学习笔记
实验一 Linux系统简介 一.Linux 为何物 Linux 就是一个操作系统,Linux 也就是系统调用和内核那两层. 二.Linux 历史简介 操作系统始于二十世纪 50 年代,当时的操作系统能 ...
- XSS学习笔记(四)-漏洞利用全过程
<script type="text/javascript" reload="1">setTimeout("window.location ...
随机推荐
- ssh终端远程登陆主机命令--笔记
ssh终端远程登陆主机命令 ssh user@host ssh optadmin@10.55.45.38
- 包管理-rpm
rpm包管理 程序源代码---->预处理---->编译---->汇编---->链接 数据处理 转为汇编代码 进行汇编 引入库文件 静态编译:. ...
- zepto源码分析·整体架构
代码数量 1.2.0版本代码量为1650行,去掉注释大概1500左右 代码模块 默认版本只包括核心模块,事件模块,ajax模块,form模块和ie模块,其它模块需要自行拓展加入,其中form模块只包含 ...
- 设计模式(五)Singleton模式
Singleton模式就是确保只生成一个实例的模式.这里有两个意思,即想确保任何情况下都绝对只有一个实例和想在程序上表现出“只存在一个实例”. 下面通过一个实例来说明这种设计模式. package B ...
- Golang的安装和编译
一.下载安装(Ubuntu16.04) 1.下载地址:https://golang.google.cn/dl/ 2.下载Linux版本的安装包go1.10.3.linux-amd64.tar.gz并复 ...
- vuex状态管理安装方法
1.可以启动vue ui 手动添加vuex. 或使用 cnpm install vuex 2.使用,import vuex from “vuex” vue.use(vuex) 3.安装插件, 首先键入 ...
- 关于Map集合注意事项
今日代码中循环Map时,采用循环主键 Map<Integer,Map<Integer,String>> status = new HashMap<>(); Set ...
- Django学习day1——Django的简单介绍
1.了解Web基本的开发 使用Python开发Web,最简单,原始和直接的办法是使用CGI标准现在从应用角度解释它是如何工作: 首先做一个Python脚本,输出HTML代码,然后保存成.cgi扩展名的 ...
- JS- 封装、继承、多态
http://www.cnblogs.com/silence516/articles/1509456.html
- Asp.net Core 系列之--2.ORM初探:Dapper实现MySql数据库各类操作
ChuanGoing 2019-09-10 距离上一篇近一个月时间,断断续续才把本篇码完,后面将加快进度,争取年度内把本系列基本介绍完成,同时督促本人持续学习. 本篇学习曲线: 1.初识Dapper ...