xss跨站脚本(cross-site scripting)

本质上是用户输入 js html 代码,提交至服务器(可不经过),前端和后端均未对用户的输入和输出进
行合理的过滤和限制,导致恶意 js 代码以及 html 代码被注入到网页中
危害:钓鱼欺骗、获取会话、会话劫持、网页蠕虫病毒等;
即前端代码注入,代码注入类
代码注入的本质:把用户的输入当作代码执行;
基本流程
如何引用 js
1 script 标签
< script > console . log () < /script>
2 script 标签中的 src 属性
< script src = "http://a.com/j.js" >< /script>
3 、事件( on ),(鼠标键盘窗口)
< input onclick = console . log () >
< img src = x onerror = console . log () >
4 a 标签 href 属性构造伪协议
< a href = javascript : console . log () > baidu < /a>
常见构造标签:
<script>alert(1)</script>
<img src = x onerror = alert(1)>
<svg onload = alert(1)>
<input onmouseover = "console.log(5)" >
<a href = "javascript:alert(1)" >
<input type = text onclick = alert(1)>
等等
xss 分类
1 、反射型
xss 恶意代码经过服务器但不存储于服务器,一次性
2 、存储型
xss 恶意代码经过服务器且存储于服务器(文件,数据库)
3 dom 型(也算反射型的一种)
xss 恶意代码不经过服务器,无需和服务器交互,发生在客户端处理数据时
xss 语句及过滤
1 、无尖括号,可选择用事件触发 js 代码
2 、无法使用 script 标签及 js 事件的情况下,可选择用 a 标签引入伪协议,例:
<a href = "javascript:alert(1)" > random </a>
3 、某些属性被替换,可选择大小写绕过限制
例:
"> <a hREf = "javascript:alert(1)" > asdf </a>
用大小写穿插的方式替换 href
4 、存在过滤属性名、标签名的情况,如果过滤不严谨可尝试双写;
"> <a hrhrefef = "javascrscriptipt:alert(1)" > asdf </a>
5 、可尝试使用实体编码替换 xss 语句中值的部分,
例:
<a href = "javascript:alert(1)" > 友情链接 </a>
可替换 href 后的部分,参数无法替换
6 、观察页面,有些输入框是隐藏属性
7 、除了正常的 GET POST 请求外, http 请求头,有时也可以构造 xss
8 ng-include, ①需要指定的是同域名下的图片或文件②搭配事件或其他 js 触发方式
9 、空格被替换,可选择类似 sql 注入中的替换方法, %0a %0d %09 /
10 、反单引号替换括号、中括号
11 img input 等自闭和标签无需闭合,结尾尖括号也可省略,属性后记得加空格
12 、引入恶意 js 时,可选用邮箱格式,用户名 @ 网址,例: baidu.com@qq.com , 等价于baidu.co 作为用户名去访问qq
13 、正则不严谨时可使用空格绕过正则
14 svg 标签中可解析实体编码
15 、标签内增加空白符,不影响标签原有意义

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/559852.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

P1605 迷宫

本题为洛谷&#xff1a; #include<iostream> using namespace std; int maze[6][6]; int n,m,t,sx,sy,fx,fy,obsh,obsl,s; int dir[4][2]{{-1,0},{0,1},{1,0},{0,-1}},vis[6][6]; void dfs(int x,int y){if(xfx-1&&yfy-1){s;return ;}vis[x][y]1;for(int i0;i<…

如何将你的iOS应用成功上架App Store(图文详解)

上架基本需求资料 1、苹果开发者账号&#xff08;如还没账号先申请- 苹果开发者账号申请教程&#xff09; 2、开发好的APP 通过本篇教程&#xff0c;可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestFlight测试然后提交审核的完整流程&#xff01; …

graphviz嵌入latex的方法

效果&#xff1a; graphviz graphviz是一个开源的工具包&#xff0c;用DOT语言编写可以自动转换成图形&#xff0c;因为写法非常简单&#xff0c;只用代码描述好连接关系&#xff0c;就能直接得到最终的图形&#xff0c;所以优势很大。 latex&#xff1a; 就不介绍了 graphvi…

不会搭建帮助中心?别怕,这几款工具来帮你

一个完善的帮助中心是企业提供优质客户服务的重要环节。它不仅能够有效解答客户问题&#xff0c;减轻客服压力&#xff0c;还能提升品牌形象与客户满意度。但很多企业在搭建过程中或多或少会遇到困难&#xff0c;尤其是对于非技术背景的公司来说&#xff0c;这看似复杂的任务可…

ipv4Bypass:一款基于IPv6实现的IPv4安全绕过与渗透测试工具

关于ipv4Bypass ipv4Bypass是一款基于IPv6实现的安全绕过与渗透测试工具&#xff0c;该工具专为红队研究人员设计&#xff0c;可以帮助广大研究人员通过IPv6绕过目标安全策略&#xff0c;以此来检测安全检测机制的健壮性。 20世纪90年代是互联网爆炸性发展时期&#xff0c;随着…

Sourcetree安装使用(补个笔记)

Sourcetree介绍 Sourcetree是一款免费的Git图形化客户端&#xff0c;它由Atlassian开发&#xff0c;提供了跨平台的支持&#xff0c;可运行在Windows和Mac操作系统上。Sourcetree可以让开发者更方便地使用Git来管理代码&#xff0c;不需要在命令行中输入复杂的Git命令&#xf…

【QTM中文教程】02:Quick Terrain Reader介绍、下载与安装

文章目录 一、Quick Terrain Reader简介二、Quick Terrain Reader特点和功能三、Quick Terrain Reader下载与安装一、Quick Terrain Reader简介 Quick Terrain Reader(QTR)是一款免费的软件工具,用于查看和分析地形数据。它是Quick Terrain Modeler(QTM)的轻量级版本,专…

houdini 节点

bend 【m f b 】 polyexpand2d copytopoint polyframe group range

Uniapp百度AI人脸识别证件照微信小程序源码

百度AI人脸识别证件照微信小程序源码&#xff0c;Uniapp开发的一套证件照制作的微信小程序源码&#xff0c;带视频激励广告主。 使用教程&#xff1a; 1、hbuildx 打开项目&#xff08;仅尝试过hbuildx&#xff0c;cli需要自己尝试&#xff09; 2、修改代码的appid 3、进入…

移除离群点------PCL

statisticalOutlierRemoval滤波器移除离群点 /// <summary> /// 使用statisticalOutlierRemoval滤波器移除离群点 /// </summary> /// <param name"cloud">被过滤的点云</param> /// <param name"meank"></param> //…

如何将jpeg改为jpg格式?jpeg转换成jpg的三种方法

在我们的日常生活和工作中&#xff0c;经常需要进行图片格式转换&#xff0c;比如在许多社交平台中&#xff0c;我们可能需要将jpeg格式的图片转换为更常见的jpg格式&#xff0c;以便在不同设备或平台上更好地使用和查看&#xff0c;也更方便地分享和存储这些图片&#xff0c;而…

CHI中observe响应和order响应的区别

在CHI协议中&#xff0c;每个请求可以生成一个或多个响应&#xff0c;不同响应表示Completer完成不同的操作之后&#xff0c;返回给requestor的通知。Requestor收到响应之后&#xff0c;根据响应类型来判断下一步需要做什么。 1. Observe响应 Observe响应确定一个transaction相…

java线程间同步----wait、notify、synchronized

一、wait、notify wait、notify 是java 根级父类Obeject 中定义得两个方法&#xff0c;其相关作用如下&#xff1a; object.wait()&#xff1a;执行该语句&#xff0c;会让获取了该object对象锁得线程进入WAIT状态&#xff0c;并释放该object对象锁&#xff1b; object.notify…

同旺科技 USB TO SPI / I2C适配器读写24LC256--字节写

所需设备&#xff1a; 1、USB 转 SPI I2C 适配器&#xff1b;内附链接 2、24LC256芯片 适应于同旺科技 USB TO SPI / I2C适配器升级版、专业版&#xff1b; 00地址写入一个字节数据AA&#xff0c;并读回验证&#xff1b; 单字节写时序&#xff1a; 读字节时序&#xff1a; …

OpenCV——透视变换

前言 ​ 需求&#xff1a; 将一个梯形变为需要的图形&#xff0c;后续需要持续进行映射。让整张图像的所有点位都按照这样的映射关系进行映射。 正文 一、透视变换相关介绍 从名称中可以清楚地看出&#xff0c;透视变换研究是坐标变化之间的关系。这种类型的转换不保留信息…

数据采集技术综合项目实战3(网络爬虫+数据预处理+数据可视化)附带详细步骤说明,干货满满

项目介绍及需求&#xff1a; 本项目主要是通过对b站电影弹幕进行采集并分析。1.获得弹幕高频词生成符合该电影特征、主题、角色等相关字段的词云图&#xff0c;通过词云图的方式对某部电影主题具体化。2.获取用户年内评论发布时间观生成时间的折线图&#xff0c;以便从侧面观察…

HarmonyOS-静态库(SDK)的创建和使用

文章目录 一、静态库&#xff08;SDK&#xff09;二、创建静态库1.新建静态库模块2. 开发静态库内容3. 编译静态库 三、使用静态库1. 配置项目依赖2. 在应用中使用静态库3. 注意事项 四、打包错误1. library引用本地har包错误 一、静态库&#xff08;SDK&#xff09; 在Harmon…

【35分钟掌握金融风控策略6】决策树风控策略开发

目录 ​编辑 决策树 决策树原理 决策树生成 特征选择 决策树生成 决策树剪枝 决策树 决策树&#xff08;Decision Tree&#xff09;是一种强大的分类和预测方法&#xff0c;因其实践起来比较简单且具有较好的解释性&#xff0c;所以在金融风控领域应用广泛。决策树也是…

如何快速提高阿里国际、Shopee和速卖通产品的曝光率?

当卖家完成产品上传后&#xff0c;他们还能做些什么来进一步提升产品的曝光量呢&#xff1f;产品的曝光量无疑对店铺的销量具有显著影响&#xff0c;那么&#xff0c;如何有效地提升产品曝光量呢&#xff1f;又有哪些快速且实用的方法呢&#xff1f;今天&#xff0c;我们就来深…

【力扣 Hot100 | 第五天】4.20(回文链表)

1.回文链表 1.1题目 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例一&#xff1a; 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true示例二&#xff1a; 输入…
最新文章