XSS漏洞原理整理
一、通常使用XSS脚本来获取浏览器版本信息,alert(navigator.userAgnet ) ,浏览器的UserAgent是可以伪造的,比方火狐或者很多扩展都可以屏蔽或者自定义浏览器发送的UserAgent ,所以通过javaScript获取的浏览器对象有时候不一定时真的。但是浏览器之间的实现存在很大的差异,不同的浏览器之间会实现不同的功能,不同版本之间也会有差异,可以根据这个差别来区分浏览器的信息,比单方面读取 userAgent信息更加的准确。
if (window.ActiveXObject){
//判断是否是IE 7以上的版本
if (document.documentElement && typeof documet.document.documentElement.style.maxHeight!="undefinde"{
//判断是否是IE 8+
if(type document.adoptNode!="underfined"){//Safari3 &Opera & Chrome & Ie8}
}
}return "msie";
else if(type windows.opera!="underfined"){
//Opera
return "OPera";
}
else if (type window.netsapce!=")
................后面的部分这里不写了
什么是HttpOnly ,HttpOnly最初是由微软提出的,并开始在IE6中使用,现在已经在各大浏览器中成为一个标准, 浏览器将禁止页面的JavaScript 访问带有HttpOnly属性的Cookie值。一个cookie的使用过程大致如下:
第一步: 浏览器向服务器发起请求,这个时候没有产生Cookie值
第二步:服务器返回时发送Set-Cookie ,并向客户端浏览器写入Cookie
第三步:周该Cookie到期之前,浏览器访问该域下的所有页面,都将发送该Cookie。*
而HttpOnly设置在 Set-cookie标记。 我们可以同时设置多个Cookie值,对不同的Cookie。
Set-cookie:<name>=<value>[;<Max-Age>=<age>]
[;expirse=<data>][;domain=<domain_name>]
[;path=<some_path>][;secure][;HttpOnly]
是不是加了 HttpOnly就读不出Cookie了不是这样的,我们还是可以通过其他的方法来,只要能力强,什么都可绕。安全是一个不断进阶的过程。添加了 HttpOnly不意味着完全可以避免XSS
二、 在防范XSS或者常见的SQl Injection漏洞的时候使用输入检查或者输出检查。
输入检查的逻辑必须放在服务器端中实现,如果单单在客户端使用JS进行输入检查很容易被绕过,在开发过程中同时在客户端和服务端使用输入检查,客户端进行输入检查可以阻挡大部分的误操作,减少服务器的压力。
XSS的本质是I一种“HTML注入” 用户的数据被当成了HTML代码一部分来执行,从而混淆了原本的语义,产生了一种新的语义。
三、跨站请求伪造 (CSRF) Cross Site Request Forgery
浏览器的Cookie分成两种类型。
第一种 : Session Cookie 称为临时的Cookie ,保存在浏览器进程的内存空间。
第二种: third-Part-cookie 又称为本地Cookie ,保存在本地。
这两种Cookie的区别是 Session Cookie么有指定Expire时间,浏览器关闭之后Session Cookie会自动失效。 Third-Part-Cookie是服务器在Set-Cookie的时候指定了Expire时间,只有当Expire时间过期后Cookie才会失效。
XSS漏洞原理整理的更多相关文章
- 基于dom的xss漏洞原理
原文:http://www.anying.org/thread-36-1-1.html转载必须注明原文地址最近看到网络上很多人都在说XSS我就借着暗影这个平台发表下自己对这一块的一些认识.其实对于XS ...
- XSS 漏洞原理及防御方法
XSS跨站脚本攻击:两种情况.一种通过外部输入然后直接在浏览器端触发,即反射型XSS:还有一种则是先把利用代码保存在数据库或文件中,当web程序读取利用代码并输出在页面上时触发漏洞,即存储型XSS.D ...
- Xss漏洞原理分析及简单的讲解
感觉百度百科 针对XSS的讲解,挺不错的,转载一下~ XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XS ...
- XSS漏洞原理
注入型漏洞的本质都是服务端分不清用户输入的内容是数据还是指令代码,从而造成用户输入恶意代码传到服务端执行. 00x01js执行 Js是浏览器执行的前端语言,用户在存在xss漏洞的站点url后者能输入数 ...
- 快速找出网站中可能存在的XSS漏洞实践
笔者写了一些XSS漏洞的挖掘过程记录下来,方便自己也方便他人. 一.背景 在本篇文章当中会一permeate生态测试系统为例,笔者此前写过一篇文章当中笔者已经讲解如何安装permeate渗透测试系统, ...
- 快速找出网站中可能存在的XSS漏洞实践(一)
一.背景 笔者最近在慕课录制了一套XSS跨站漏洞 加强Web安全视频教程,课程当中有讲到XSS的挖掘方式,所以在录制课程之前需要做大量实践案例,最近视频已经录制完成,准备将这些XSS漏洞的挖掘过程记录 ...
- Atitit. Xss 漏洞的原理and应用xss木马
Atitit. Xss 漏洞的原理and应用xss木马 1. XSS漏洞1 2. XSS的用途2 2.1. 盗取cookie2 2.2. 刷新流量 刷分3 2.3. DOS 窃取隐私”.“假冒身份”. ...
- XSS漏洞攻击原理与解决办法
转自:http://www.frostsky.com/2011/10/xss-hack/ 对于的用户输入中出现XSS漏洞的问题,主要是由于开发人员对XSS了解不足,安全的意识不够造成的.现在让我们来普 ...
- WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案(转)
对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...
- WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案
对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...
随机推荐
- Gin 路由注册与请求参数获取
目录 一.Web应用开发的两种模式 1.前后端不分离模式 2.前后端分离模式 二.RESTful介绍 三.API接口 3.1 RESTful API设计指南 3.2 API与用户的通信协议 3.3 R ...
- 《PalWorld/幻兽帕鲁》旧电脑linux搭建服务器
关键词: PalWorld, Linux, Natapp, 内网穿透, 幻兽帕鲁 注 意 文 章 时 效 性 最近幻兽帕鲁爆火,steam一上线好友列表一串正在游玩哈哈哈,自己也是蹭一波热度,顺便试用 ...
- 英特尔发布酷睿Ultra移动处理器:Intel 4制程工艺、AI性能飙升
英特尔今日发布了第一代酷睿Ultra移动处理器,是首款基于Intel 4制程工艺打造的处理器. 据了解,英特尔酷睿Ultra采用了英特尔首个用于客户端的片上AI加速器"神经网络处理单元(NP ...
- 9、数据库学习规划:Oracle - 学习规划系列文章
甲骨文公司的Oracle数据库是笔者认为的目前市面上性能最强大的数据库.其版本也发展到了现在的12c,提供的功能也更加的强大了.以前笔者使用的是9i,十几年过去了,也才发展到12代,说明Oracle数 ...
- 你天天用4G 这些基本常识都知道吗?
不少朋友在选购4G智能手机的时候,经常可能会遇到这样的名词,五模十三频.五模十七频.双4G.移动4G.联通4G.那这些名词到底是什么意思呢?它们之间又有什么区别呢? 其实上面的这些说法其实都是比较具有 ...
- Loading进度条
- Go语言核心36讲(Go语言实战与应用十)--学习笔记
32 | context.Context类型 我们在上篇文章中讲到了sync.WaitGroup类型:一个可以帮我们实现一对多 goroutine 协作流程的同步工具. 在使用WaitGroup值的时 ...
- .NET 云原生架构师训练营(模块二 基础巩固 EF Core 基础与配置)--学习笔记
2.4.3 EF Core -- 基础与配置 连接字符串 异步编程 日志 DbContext池 类和配置表 属性和列配置 并发token 索引 Entity Framework Core:https: ...
- 《ASP.ENT Core 与 RESTful API 开发实战》-- (第5章)-- 读书笔记(上)
第 5 章 使用 Entity Framework Core 5.1 Entity Framework Core EF Core 是微软推出的 ORM 框架,一种为了解决高级编程语言中的对象和关系型数 ...
- ASP.NET Core分布式项目实战(Consent 代码重构)--学习笔记
任务23:Consent 代码重构 新建一个 Sercices 文件夹,在文件夹下新建一个 ConsentService,专门用于处理 Consent 的逻辑,我们会把 controller 中不是 ...