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 ...
随机推荐
- MacOs mysql 安装
1. 去官网下载mysql镜像:https://dev.mysql.com/downloads/file/?id=475582 2. 双击镜像文件 - > 双击.pkg文件 -> 出现 ...
- 记录一些常用的python库、软件或者网址
1.数据收集 BeautifulSoup.scrapy.selenium.requests 2.数据分析 pandas.numpy.pyDD.spacy 3.数据可视化 matplotlib.seab ...
- Modbus协议笔记
读线圈:就是说读开关量输出的状态,看看开关量输出的到底是开着的还是关着的,这样说有点不专业,但是好明白.比如要在上位机显示开关量输出的当状态,就得用这个功能码. 写线圈:就是说读开关量输入的状态,开关 ...
- JavaScript数据在内存中储存方式
详情来源于个本人博客: https://shengchangwei.github.io/al-data/ > Js的数据类型包括两种: 基本数据类型:String.Boolean.Number. ...
- 聚类(一)——Kmeans
Clustering 聚类K-means 聚类是机器学习和数据挖掘领域的主要研究方向之一,它是一种无监督学习算法,小编研究生时期的主要研究方向是“数据流自适应聚类算法”,所以对聚类算法有比较深刻的理解 ...
- 如何在Vue项目中使用Typescript
0.前言 本快速入门指南将会教你如何在Vue项目中使用TypeScript进行开发.本指南非常灵活,它可以将TypeScript集成到现有的Vue项目中任何一个阶段. 1.初始化项目 首先,创建一个新 ...
- 如何用CSS实现中间自适应,两边定宽三栏布局
1.前言 用css实现“两边定宽,中间自适应的三栏布局”这个问题应该是在前端面试中被面试官提问到的高频问题了,一般当面试者写出一种实现方法之后,面试官还会问你还有没有别的方法,尽量多的写出几种实现方法 ...
- vue.config.js常用配置
使用vue-cli3.0搭建项目比之前更简洁,没有了build和config文件夹. vue-cli3的一些服务配置都迁移到CLI Service里面了,对于一些基础配置和一些扩展配置需要在根目录新建 ...
- 『题解』UVa11324 The Largest Clique
原文地址 Problem Portal Portal1:UVa Portal2:Luogu Portal3:Vjudge Description Given a directed graph \(\t ...
- Linux 项目 shell 自动获取报告本机IP (1) | 通过shell 自动获取报告本机IP
由于电脑设置静态IP经常出现链接不上网络,动态IP又非常不方便,故有了这个想法并实现 原理: Linux,包含PC机器,树莓派等,通过shell 自动获取报告本机IP | 通过 Mutt+Msmtp ...