xss-labs靶场level1~5

news2024/9/24 11:22:54

参考资料:

XSS常见的触发标签_可以触发xss的标签_H3rmesk1t的博客-CSDN博客

基础知识:

XSS漏洞的定义:

跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意JS代码,当用户浏览该页面时,嵌入Web里面的JS代码会被执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击!

XSS漏洞的原理:

利用我们知道的方法,向web页面插入Js代码,让Js代码可以被浏览器执行,访问该页面的用户则被攻击

三大类型:

反射型xss 的原理为:攻击者在url 中插入xss 代码,服务端将url 中的xss 代码输出到页面上,攻击者将带有xss 代码的 url发送给用户,用户打开后收到攻击。

存储型XSS又称持久型XSS,攻击脚本存储在目标服务器的数据库中,具有更强的隐蔽性。攻击者在论坛、博客、留言板中,发帖的过程中嵌入XSS攻击代码,帖子被目标服务器存储在数据库中。当用户进行正常访问时,触发XSS代码。

DOM型XSS全称Document Object Model,使用DOM动态访问更新文档的内容、结构及样式。 HTML标签都是节点,节点组成了节点树。通过HTML DOM 可以对树上的所有节点进行修改。服务器响应不会处理攻击者脚本,而是用户浏览器处理这个响应时,DOM对象就会处理XSS代码,触发XSS漏洞。
 

靶场实战

level 1

知识:JS弹窗函数alert()

查看源代码,看到默认name参数为test,回显了payload的长度

参数值直接放到<h2>这个标签里面了,判断为反射型xss

<script>是Js 的标签,alert()就是弹出一个对话框,并显示括号里的内容,后面的是闭合符

url?name=<script>alert()</script>

查看该关卡源代码,单纯插入即可

 

level 2 

知识:闭合绕过 

查看源代码发现被htmlspecialchars处理过了

  htmlspecialchars的作用

可以看到在<h2>标签这里他将‘<’ 和 ’>‘ 进行了编码,而在输入<input>  这个标签中,他是没有被编码的,但是可以看到我们的注入语句被放到了value 值当中,这样浏览器是不会执行我们的注入语句的

 我们只需要闭合掉双引号即可,构造payload:

这里的"是为了与value的双引号进行闭合,然后 > 这个符号是为了闭合<input>这个标签从而使得后面的成为HTML中的另一个标签而可以被浏览器执行,// 则是将后面的 "> 进行注释

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

除了使用这种闭合方式也可以使用其他方法,比如以下几种

1、当鼠标经过输入框时就会弹出弹窗

" onmouseover=alert(1)//

2、当鼠标点击输入框时就会弹出弹窗

" onclick=alert(1)//

level 3

知识:onfocus可以绕过html实体化

发现这里不仅是单引号闭合,而且符号也被实体化了

看看源码果然如此 

我们可以利用onfocus事件绕过

onfocus事件在元素获得焦点时触发,最常与 <input>、<select> 和 <a> 标签一起使用,以html标签<input>为例,<input>标签是有输入框的,简单来说,onfocus事件就是当输入框被点击的时候,就会触发myFunction()函数,然后我们再配合javascript伪协议来执行javascript代码

' onfocus=javascript:alert() //

level 4

这里是双引号闭合,<input>标签,所以我们还能继续利用onfocus事件,构建payload

" onfocus=javascript:alert() //

查看源代码,用str_replace() 函数替换过滤了<>

 

level 5

知识:java伪协议_javascript伪协议是什么?_隅隅隅的博客-CSDN博客
可以插入标签(如<a>标签的href属性)达到js执行的效果,前提是闭合号<"">没失效

输入我们的老payload发现这里on被替换成了o_n

 先看一下这关的源码

过滤了js的标签还有onfocus事件,虽然str_replace不区分大小写,但是有小写字母转化函数,所以就不能用大小写法来绕过过滤了,只能新找一个方法进行xss注入 

这里可以用伪协议来进行构造

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

href属性的意思是 当标签<a>被点击的时候,就会触发执行转跳,上面是转跳到一个网站,我们还可以触发执行一段js代码。这里的javascript: 就是javascript伪协议,就是将javascript:后面的代码当JavaScript来执行,并将结果值返回给当前页面。

之后点击1,触发a标签href属性即可

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

android 添加图片 error 使用

安卓开发在drawable文件夹下如何插入后缀为xhdpi xxxhdpi 的图片 1&#xff1a;copy图片进drawable文件夹时&#xff0c;在路径后面加上“-xhdpi” 2.直接在drawable文件夹下新建一个drawable-xhdpi文件夹&#xff0c;你再添加图片的时候就会让你选择将图片具体放到哪个文件夹下…

高速电路设计系列分享-熟悉JESD204B(上)

目录 概要 整体架构流程 技术名词解释 技术细节 1.应用层 2.传输层 小结 基本概要 随着高速ADC跨入GSPS范围&#xff0c;与FPGA(定制ASIC)进行数据传输的首选接口协JESD204B。为了捕捉频率范围更高的RF频谱&#xff0c;需要宽带RFADC。在其推动下&#xff0c;对于能够捕捉更宽带…

Tomcat【管理页面】

管理页面的功能 server status &#xff1a;图形化管理、查看页面状态Manager app&#xff1a;图像化添加、创建、部署、删除项目目录host manager&#xff1a;图形化创建、管理、删除虚拟主机 默认安装tomcat需要配置以后才能使用 配置conf/tomcat-users.xml [rootnginx ROO…

网络通信性能测试方法-iperf、ping

1 iperf工具下载安装 根据板卡类型,选择合适的iperf软件版本下载 (ARM64) wget https://iperf.fr/download/ubuntu/iperf3_3.1.3-1_arm64.deb 根据提示下载依赖 wget https://iperf.fr/download/ubuntu/libiperf0_3.1.3-1_arm64.deb 下载后使用命令sudo dpkg -i xxx.deb …

黑河学院ASP.NET程序设计大作业(3)--登录及账号密码的CURD

目录 一、效果&#xff1a; 二、代码分布&#xff1a; 三、介绍 1.添加用户 2.删除用户&#xff1a; 3.修改密码&#xff1a; 四、遇到的问题&#xff1a; 一、效果&#xff1a; 二、代码分布&#xff1a; 三、介绍 1.添加用户 判断是否是管理员&#xff0c;只有管理员才可以…

chatgpt赋能python:用Python计算圆周率的两种方法

用Python计算圆周率的两种方法 圆周率&#xff08;π&#xff09;是一个非常重要的数学常数&#xff0c;被广泛应用于数学、计算机科学和工程学中。本文将介绍两种使用Python计算圆周率的方法&#xff1a;蒙特卡罗方法和Bailey–Borwein–Plouffe算法。 蒙特卡罗方法 蒙特卡…

C++笔记之字符指针和字符数组的区别

C笔记之字符指针char*和字符数组char[]的区别 code review! 文章目录 C笔记之字符指针char\*和字符数组char[]的区别1.char \[]和char \*的区别2.char\[]和char\*如何相互转换3.char\*,char\[ ],char\[20] 是字符串还是数组&#xff0c;哪一种长度是固定的&#xff1f;4.字符…

【软考网络管理员】2023年软考网管初级常见知识考点(20)- Web服务器配置

涉及知识点 网站的基本配置&#xff0c;虚拟目录的配置&#xff0c;Web服务器配置&#xff0c;虚拟主机的配置&#xff0c;站点安全的设置&#xff0c;HTTPS网站的配置&#xff0c;软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总…

利用Django路由项的别名(name)对路由进行反向解析

在Django的函数path()中&#xff0c;可以给一条路由进行命名&#xff0c;然后在视图函数或模板HTML文件中进行调用&#xff0c;这样的好处是&#xff1a;只要路由的name不变&#xff0c;那么修改了URL具体的路由&#xff0c;也不用去更改视图函数或模板HTML中的相关代码&#x…

Redis7【① 概述 安装 配置】

1. Redis入门概述 1. Redis是什么 Redis全称 远程字典服务器&#xff08;Remote Dictionary Server&#xff09;&#xff0c;它是完全开源的&#xff0c;使用ANSIC语言编写遵守BSD协议&#xff0c;是一个高性能的基于内存的Key-Value数据库&#xff0c;提供了丰富的数据结构&…

基于VMD-SSA-LSTM的多维时序光伏功率预测MATLAB程序

基于VMD-SSA-LSTM的多维时序光伏功率预测MATLAB程序资源-CSDN文库https://download.csdn.net/download/weixin_56691527/87950148参考文献&#xff1a; 《基于VMD-SSA-LSSVM的短期风电预测》 《基于改进鲸鱼优化算法的微网系统能量优化管理》 主要内容&#xff1a; 融合了两…

计算机毕业论文内容参考|基于Android的国际酒店预订APP的设计与实现

文章目录 导文摘要:前言:绪论:课题背景国内外现状与趋势课题内容相关技术与方法介绍:系统分析:系统设计:系统实现:系统测试:本文总结后续工作展望导文 计算机毕业论文内容参考|基于Android的国际酒店预订APP的设计与实现 摘要: 随着人们生活水平的提高和旅游业的迅速…

黑河学院ASP.NET程序设计大作业(2)--分页、列表和详细页

目录 一、建立数据库&#xff1a; 二、连接数据库&#xff1a; 三、获取所有的列表 四、实现分页 五、实现列表页和详细页的绑定 六、项目难点 一、建立数据库&#xff1a; 1.adminss表 2.columnss表设计及内容 3.messagess表设计及内容 二、连接数据库&#xff1a; 文件中A…

智能风扇语音控制新方案,高品质语音识别芯片NRK3303

随着人工智能技术的发展&#xff0c;人们可以使用语音助手随时随地进行语音控制电子设备。而针对风扇这种家居电器&#xff0c;智能语音控制的方案相对成熟&#xff0c;受到了越来越多用户的青睐。为了更好地提升用户体验&#xff0c;新一代智能风扇方案引进了语音识别芯片技术…

maven 导入本地jar、maven 安装本地jar

方式一、 将jar放入本地任意目录(不推荐) pom.xml <!-- groupId&#xff1a;cn.myCompany.myCommon 规则&#xff1a;公司性质.公司名.项目名或其它artifactId&#xff1a;jar包 自定义ID&#xff0c;通常与jar包名同名&#xff1b;pom通过groupIdartifactIdversion找到mav…

chatgpt赋能python:Python虚拟环境管理:让你的项目更加独立和可靠

Python虚拟环境管理&#xff1a;让你的项目更加独立和可靠 什么是Python虚拟环境? Python虚拟环境&#xff08;Virtual Environment&#xff09;是一种Python环境隔离的机制&#xff0c;它可以让你在同一个操作系统上创建多个Python环境&#xff0c;互不干扰。这意味着你可以…

【MATLAB第48期】基于MATLAB的REMR-LSTM多次循环递归拓展理论的长短期记忆网络LSTM回归预测模型,PCA预处理降维

【MATLAB第48期】基于MATLAB的REMR-LSTM多次循环递归拓展理论的长短期记忆网络LSTM回归预测模型&#xff0c;PCA预处理降维 在本文中&#xff0c;将展示一个使用多次循环递归拓展&#xff08;REMR&#xff09;理论来改进LSTM回归预测问题。 通过多次循环&#xff0c;优化训练集…

Linux下的tmux的使用

0.前言 您好&#xff0c;这里是limou3434&#xff0c;本次我将给您带来Linux下tmux的使用。 如果您感兴趣也可以看看我的其他内容。 1.tmux的基础概念 tmux是一款在Linux里运行在终端上的软件&#xff0c;可以使得终端具有强大的多任务管理功能&#xff08;以下是在Ubuntu环…

如何做好迭代回顾 1/4

迭代回顾(Retrospective)、二八原则、五个“为什么”(5 Why)、以数据说话、三点估算(PERT)等&#xff0c;大家都可能听过&#xff0c;在网上也能找到相关理论知识&#xff0c;但很多软件开发团队自以为了解&#xff0c;但其实是有误解。“如何做好迭代回顾”会利用一些实际团队…

Linux Mint 21.2 “Victoria “的测试版即将到来

导读Linux Mint 21.2 “Victoria “几乎已经准备就绪&#xff0c;主要开发者Clement Lefebvre证实&#xff0c;开发周期已经结束&#xff0c;这意味着测试版应该很快就会到来。 Linux Mint 21.2是Linux Mint 21系列的第二次更新&#xff0c;它基于Ubuntu 22.04 LTS&#xff08;…