pikachu靶场之XSS漏洞测试
一、环境配置
1.pikachu官网下载
下载地址:https://github.com/zhuifengshaonianhanlu/pikachu
2.百度网盘(里面含有pikachu跟phpstudy)
链接:pikachu下载
密码:abcd
配置:pikachu下载及安装-图文详解+phpStudy配置-CSDN博客
二、XSS漏洞测试

1.反射型xss(get)
开始提示哪个是你最喜欢的nba球员,我们先点击提交试试


输入kobe之后,我们可以发现url中的message从没有变成了kobe,利用此参数进行xss注入js代码
<script>alert(1)</script> #最基本的js攻击代码
当你尝试利用在框里写上以上代码时,发现对长度进行了限制,我们可以在前端修改限制的长度,从而进行攻击 。如果你在url中攻击就没有这样的烦恼


以下图片是在前端中进行修改长度来进行攻击

2.反射型xss(post)
当我们输入正确密码登录进去后,发现url出现了post反映的.php文件,GET和POST的区别是GET是以url方式提交数据而POST是以表单方式在请求体里面提交即在上一个实验中,可以通过URL来改变参数利用xss漏洞,而在这个实验中不可以。
<script>alert(1)</script>


3.存储型xss
进入此关卡,发现了一个留言板,尝试用基本的js代码攻击
注意:与前两个关卡不同(反射型xss攻击是一次性的),而存储型xss攻击是持久的,它是将攻击代码存储到数据库中,当被攻击的用户每次打开这个留言板界面,都会出现回显
<script>alert('xss')</script>


4.DOM型xss
DOM概念:DOM文档就是一份XML文档,当有了DOM标准之后,DOM便将前端html代码化为一个树状结构,方便程序和脚本能够轻松的动态访问和更新这个树状结构的内容、结构以及样式,且不需要经过服务端,所以DOM型xss在js前端自己就可以完成数据的输入输出,不与服务器产生交互,这样来说DOM型xss也可以理解为反射性xss,但是反射型xss需要与服务器交互,这就是二者的区别。

打开前端代码,看到我们攻击的代码被注释掉了,此时我们需要尝试绕过
点击提交按钮时会触发onclick事件,执行domxss()函数,通过document.getElementById()函数获取输入框内内容显示到页面
只要将 < a href="' "> < /a >标签造成闭合即可通关,我们输入
#' οnclick="alert('xss')">



5.xss盲打
随便输入什么,提示谢谢参与,阁下的看法我们已经收到,说明我们输入的内容像是被提交给了后台, 我们接着尝试输入语句

<script>alert('xss')</script>
点击提交,查看提示,进入xss后台,
后台登录地址是/xssblind/admin_login.php #在url上进行修改即可,登录成功就会回显

6.xss之过滤
xss绕过-过滤
1.前端限制绕过,直接抓包重放,或者修改html前端代码
2.大小写,标签,双写,编码,拼凑
先尝试基本的攻击语句,发现没有什么反应,出现了过滤
<script>alert('xss')</script>

我们查看源代码,发现对<script>进行了过滤

我们尝试用大小混写的方式绕过
<ScRipT>alert('xss')</ScRipT>
7.xss之htmlspecialchars
将上一关过关代码尝试攻击,猜测<>被htmlspecialchars函数转义了
htmlspecialchars()函数把预定义的字符转换为HTML 实体。
预定义的字符是: &(和号)成为& ”(双引号)成为"
'(单引号)成为' ‘’< ‘’(小于)成为< ‘’> ‘’(大于)成为 >

尝试输入特殊符号,''""<>123,看看过滤,发现除了',其他全被过滤了


此时,我们构造'闭合语句,之后点击蓝色字体,出发鼠标点击事件
' οnclick='alert(123)'
8.xss之href输出
尝试代码过滤内容,发现我们输入的内容在a标签中的href中,可以使用javascript协议来执行js


javascript:alert(123)
输入完成后,点击下方蓝字
9.xss之js输出
尝试看看有没有过滤,查看网页源代码,翻到底下,发现并没有过滤,尝试用'闭合


这里用'闭合$ms,用</script>闭合上面的<script>
'</script><script>alert('123')</script>
相关文章:
pikachu靶场之XSS漏洞测试
一、环境配置 1.pikachu官网下载 下载地址:https://github.com/zhuifengshaonianhanlu/pikachu 2.百度网盘(里面含有pikachu跟phpstudy) 链接:pikachu下载 密码:abcd 配置:pikachu下载及安装-图文详解…...
python快速入门之Flask框架
文章目录 一、pip安装二、接口开发三、测试 一、pip安装 pip install flask 二、接口开发 from flask import Flaskapp Flask(__name__)app.route("/test") def index():return "test"if __name__ __main__:app.run()三、测试 http://127.0.0.1:5000…...
【云原生| K8S系列】Kubernetes Daemonset,全面指南
Kubernetes中的DaemonSet是什么? Kubernetes是一个分布式系统,Kubernetes平台管理员应该有一些功能可以在所有节点上运行特定于平台的应用程序。例如,在所有Kubernetes节点上运行日志代理。 这就是Daemonset发挥作用的地方。 Daemonset是一个原生的K…...
【Python机器学习实战】 | 基于决策树的药物研究分类预测
🎩 欢迎来到技术探索的奇幻世界👨💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…...
B端系统的UI框架选择,不要输在了起跑线,如何破?
所谓成也框架、败也框架,框架就是这么的优点和缺点鲜明,市面上的框架多如牛毛,谁家的最优秀呢?为何框架搞出来的UI界面同质化呢,如何避免这种情况,如何在框架的基础上进一步提升颜值和体验呢,本…...
RabbitMQ延迟消息(通过死信交换机实现)
延迟消息:生产者发送消息时指定一个时间,消费者不会立刻收到消息,而是在指定时间后才收到消息 通过DLX和TTL模拟出延迟队列的功能,即,消息发送以后,不让消费者拿到,而是等待过期时间࿰…...
Java - 分支结构 - if…else/switch
Java 分支结构 - if…else/switch if语句语法 if...else 语句语法实例 if...else if...else 语句语法实例 嵌套的 if…else 语句语法实例 switch 语句语法实例 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。 Java有两种分支结构…...
web安全渗透测试十大常规项(一):web渗透测试之XML和XXE外部实体注入
#详细点: XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。等同于JSON传输。XXE漏洞XML External Entity Injection,即xml外部实体注入漏洞,XXE漏洞发…...
任务3.8.2 利用RDD计算总分与平均分
实战:使用RDD 计算学生成绩的总分与平均分 项目背景 本项目旨在利用 Apache Spark 的强大数据处理能力,对存储在 HDFS 上的学生成绩文件进行处理,计算每个学生的总分和平均分。 项目目标 读取存储在 HDFS 上的成绩文件。计算每个学生的总…...
探索磁力搜索引擎:互联网资源获取的新视角
在当今数字化社会中,寻找和获取网络资源变得更加便捷和多样化。磁力搜索引擎作为这一趋势的一部分,提供了一种新颖而有效的方法来定位和获取用户所需的文件、媒体和其他数字内容。本文将深入探讨磁力搜索引擎的工作原理、使用场景及其在网络文化中的影响…...
立创开源学习篇(一)
1.机壳地 外面包围的一圈是机壳地,和金属外壳相连与电路板的GND不相连:(大疆很多产品有此设计) 屏蔽和接地:通过在电路板周围打孔,并连接到机壳地,可以形成有效的电磁屏蔽层(形成金…...
2024/6/18 英语每日一段
While refusing to attribute various problems to specific labs in order to protect the investigators’ sources, the Gladstone AI team told The Washington Times that it found various assessments of security issues were “totally untethered to reality” about…...
时隔一年,SSD大涨价?
同样产品,2T,去年400多到手,今年700。 去年 今年...
【TB作品】MSP430G2553,单片机,口袋板,流量积算仪设计
题9 流量积算仪设计 某型流量计精度为0.1%, 满刻度值为4L/s,流量计输出为4—20 mA。 设计基于MSP430及VFC32的流量积算仪。 具体要求 (1) 积算仪满刻度10000 L,精度0.1 L; 计满10000 L,自动归零并通过串口(RS232)向上位…...
九、数据结构(并查集)
文章目录 1.并查集操作的简单实现2.解决问题3. 并查集优化3.1 合并的优化3.2查询优化3.3查询优化2 通常用“帮派”的例子来说明并查集的应用背景:在一个城市中有 n ( n < 1 0 6 ) n(n < 10^6) n(n<106)个人,他们分成不同的帮派,给出…...
大模型开发技术基础
大模型(Large Model)的开发涉及多个技术基础和领域,涵盖了机器学习、深度学习、自然语言处理(NLP)、计算机视觉(CV)、数据工程等方面。以下是一些关键的技术基础: 1. 机器学习和深度…...
芯片验证分享9 —— 芯片调试
大家好,我是谷公子,之前的课程给大家讲了验证原则、激励设计和代码审查,今天我们来讲芯片调试。 芯片调试是执行一次成功的验证之后要进行的工作。记住,所谓成功的验证,是指它可以证明芯片没有实现预期的功能。调试主…...
java 面试题--基础
文章目录 基础java SE 、 EE 、 ME 的区别jdk 和 jre 区别?java 的日志级别基本数据类型 特性关键字finalabstractsuperswitchfortry catch 接口和抽象类的区别接口抽象类适用场景 类的加载循序静态代码块 传参问题访问修饰符运算符 反射java 里的应用为什么反射的性…...
必看!!! 2024 最新 PG 硬核干货大盘点(上)
PGConf.dev(原名PGCon,从2007年至2023年)首次在风景如画的加拿大温哥华市举办。此次重新定位的会议带来了全新的视角和多项新的内容,参会体验再次升级。尽管 PGCon 历来更侧重于开发者,吸引来自世界各地的资深开发者、…...
Redis 高可用 sentinel
简介 Sentinel提供了一种高可用方案来抵抗节点故障,当故障发生时Redis集群可以自动进行主从切换,程序可以不用重启。 Redis Sentinel集群可以看成是一个Zookeeper集群,他是Redis集群高可用的心脏,一般由3-5个节点组成࿰…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
WebRTC调研
WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...
