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. MacOs mysql 安装

    1. 去官网下载mysql镜像:https://dev.mysql.com/downloads/file/?id=475582 2.  双击镜像文件 - >  双击.pkg文件 -> 出现 ...

  2. 记录一些常用的python库、软件或者网址

    1.数据收集 BeautifulSoup.scrapy.selenium.requests 2.数据分析 pandas.numpy.pyDD.spacy 3.数据可视化 matplotlib.seab ...

  3. Modbus协议笔记

    读线圈:就是说读开关量输出的状态,看看开关量输出的到底是开着的还是关着的,这样说有点不专业,但是好明白.比如要在上位机显示开关量输出的当状态,就得用这个功能码. 写线圈:就是说读开关量输入的状态,开关 ...

  4. JavaScript数据在内存中储存方式

    详情来源于个本人博客: https://shengchangwei.github.io/al-data/ > Js的数据类型包括两种: 基本数据类型:String.Boolean.Number. ...

  5. 聚类(一)——Kmeans

    Clustering 聚类K-means 聚类是机器学习和数据挖掘领域的主要研究方向之一,它是一种无监督学习算法,小编研究生时期的主要研究方向是“数据流自适应聚类算法”,所以对聚类算法有比较深刻的理解 ...

  6. 如何在Vue项目中使用Typescript

    0.前言 本快速入门指南将会教你如何在Vue项目中使用TypeScript进行开发.本指南非常灵活,它可以将TypeScript集成到现有的Vue项目中任何一个阶段. 1.初始化项目 首先,创建一个新 ...

  7. 如何用CSS实现中间自适应,两边定宽三栏布局

    1.前言 用css实现“两边定宽,中间自适应的三栏布局”这个问题应该是在前端面试中被面试官提问到的高频问题了,一般当面试者写出一种实现方法之后,面试官还会问你还有没有别的方法,尽量多的写出几种实现方法 ...

  8. vue.config.js常用配置

    使用vue-cli3.0搭建项目比之前更简洁,没有了build和config文件夹. vue-cli3的一些服务配置都迁移到CLI Service里面了,对于一些基础配置和一些扩展配置需要在根目录新建 ...

  9. 『题解』UVa11324 The Largest Clique

    原文地址 Problem Portal Portal1:UVa Portal2:Luogu Portal3:Vjudge Description Given a directed graph \(\t ...

  10. Linux 项目 shell 自动获取报告本机IP (1) | 通过shell 自动获取报告本机IP

    由于电脑设置静态IP经常出现链接不上网络,动态IP又非常不方便,故有了这个想法并实现 原理: Linux,包含PC机器,树莓派等,通过shell 自动获取报告本机IP  | 通过 Mutt+Msmtp ...