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学习笔记的更多相关文章

  1. DirectX 11游戏编程学习笔记之8: 第6章Drawing in Direct3D(在Direct3D中绘制)(习题解答)

            本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...

  2. DirectX 11游戏编程学习笔记之6: 第5章The Rendering Pipeline(渲染管线)

            本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...

  3. DirectX 11游戏编程学习笔记之1: 开场白

    本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com           这是我之前的博客系列"DirectX9.0c游戏开发手记之'龙书'第二版学习笔记 ...

  4. Hive0.11安装配置学习笔记

    转:http://springsfeng.iteye.com/blog/1734517 1 . 首先请安装好MySQL并修改root账户密码,使用root账户执行下面命令:  su - root    ...

  5. DirectX 11游戏编程学习笔记2: 文章1章Vector Algebra(向量代数)

    本文由哈里_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页.而实体书是800多页,所以我在提到相关概念的时候.会使用章节号而 ...

  6. 【转载】XSS学习笔记

    XSS的分类 非持久型 非持久型XSS也称反射型XSS.具体原理就是当用户提交一段代码的时候,服务端会马上返回页面的执行结果.那么当攻击者让被攻击者提交一个伪装好的带有恶意代码的链接时,服务端也会立刻 ...

  7. c++11 线程池学习笔记 (一) 任务队列

    学习内容来自一下地址 http://www.cnblogs.com/qicosmos/p/4772486.html github https://github.com/qicosmos/cosmos ...

  8. Jerry Wang从2017年到2019年的自由泳学习笔记

    打腿 把注意力调整到脚部,尽量不要让他打出水面,因为在空气中大腿完全是无用功,但是如果只是脚跟出水一点,倒也没什么关心,但是主观上,要控制一下,如果你听到你的打腿是"咚咚咚咚"这样 ...

  9. Linux(9.14-9.20)学习笔记

    实验一 Linux系统简介 一.Linux 为何物 Linux 就是一个操作系统,Linux 也就是系统调用和内核那两层. 二.Linux 历史简介 操作系统始于二十世纪 50 年代,当时的操作系统能 ...

  10. XSS学习笔记(四)-漏洞利用全过程

    <script type="text/javascript" reload="1">setTimeout("window.location ...

随机推荐

  1. ssh终端远程登陆主机命令--笔记

    ssh终端远程登陆主机命令 ssh user@host ssh optadmin@10.55.45.38

  2. 包管理-rpm

    rpm包管理 程序源代码---->预处理---->编译---->汇编---->链接          数据处理  转为汇编代码  进行汇编    引入库文件    静态编译:. ...

  3. zepto源码分析·整体架构

    代码数量 1.2.0版本代码量为1650行,去掉注释大概1500左右 代码模块 默认版本只包括核心模块,事件模块,ajax模块,form模块和ie模块,其它模块需要自行拓展加入,其中form模块只包含 ...

  4. 设计模式(五)Singleton模式

    Singleton模式就是确保只生成一个实例的模式.这里有两个意思,即想确保任何情况下都绝对只有一个实例和想在程序上表现出“只存在一个实例”. 下面通过一个实例来说明这种设计模式. package B ...

  5. Golang的安装和编译

    一.下载安装(Ubuntu16.04) 1.下载地址:https://golang.google.cn/dl/ 2.下载Linux版本的安装包go1.10.3.linux-amd64.tar.gz并复 ...

  6. vuex状态管理安装方法

    1.可以启动vue ui 手动添加vuex. 或使用 cnpm install vuex 2.使用,import vuex from “vuex” vue.use(vuex) 3.安装插件, 首先键入 ...

  7. 关于Map集合注意事项

    今日代码中循环Map时,采用循环主键 Map<Integer,Map<Integer,String>> status =  new HashMap<>(); Set ...

  8. Django学习day1——Django的简单介绍

    1.了解Web基本的开发 使用Python开发Web,最简单,原始和直接的办法是使用CGI标准现在从应用角度解释它是如何工作: 首先做一个Python脚本,输出HTML代码,然后保存成.cgi扩展名的 ...

  9. JS- 封装、继承、多态

    http://www.cnblogs.com/silence516/articles/1509456.html

  10. Asp.net Core 系列之--2.ORM初探:Dapper实现MySql数据库各类操作

    ChuanGoing 2019-09-10 距离上一篇近一个月时间,断断续续才把本篇码完,后面将加快进度,争取年度内把本系列基本介绍完成,同时督促本人持续学习. 本篇学习曲线: 1.初识Dapper ...