pikachu平台xss漏洞详解

声明:文章只是起演示作用,所有涉及的网站和内容,仅供大家学习交流,如有任何违法行为,均和本人无关,切勿触碰法律底线

文章目录

  • 概述:什么是xss
  • 一、反射型XSS
    • 1. get
    • 2. post
  • 二、存储型XSS
  • 三、DOM型XSS
  • 四、DOM型XSS-X
  • 五、xss之盲打
  • 六、xss之过滤
  • 七、xss之htmlspecialchars
  • 八、xss之href输出
  • 九、xss之js输出
  • 总结

工具在网盘,自取

通过网盘分享的文件:phpstudy
链接: https://pan.baidu.com/s/1l0jpNGQvYMwRSq3BhDY1EQ 提取码: jay1
–来自百度网盘超级会员v1的分享

在这里插入图片描述


概述:什么是xss

Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:1.反射性XSS;2.存储型XSS;3.DOM型XSS;XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

一、反射型XSS

在服务器中响应,不会存入数据库

1. get

打开平台,随意输入一个 <h1>xss</h1> 看到如下返回结果,证明是存在xss漏洞的
在这里插入图片描述
在url里可以看到是通过GET方式请求的,所以打开HackBar传参**

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f361705fc26b479d90b06f074024d2d0.png)

在这里插入图片描述

**输入<script>alert("xss")</script> ,出现弹窗

在这里插入图片描述
由于输入框被限制长度,所以可以找到此处更改长度,随后输入即可

在这里插入图片描述

2. post

首先是一个登录框,先进行登录
在输入框内输入<script>alert("xss")</script>,会在页面出现弹窗,我们可以随意输入然后在burpsuite抓包试试
,将内容改成<script>alert("xss")</script>

在这里插入图片描述
点击放行后出现弹窗

二、存储型XSS

输入的内容会永久留着页面,每当有用户访问,便可执行
在留言板输入 <script>alert("xss")</script>并提交
在这里插入图片描述
会出现弹窗,并且每当我们刷新页面这个弹窗就会出现

在这里插入图片描述

三、DOM型XSS

DOM:全称Document Object Model,使用DOM可以使程序和脚本能够动态访问和更新文档的内容、结构及样式。DOM型XSS是非持久型XSS,且不与后台服务器产生数据交互,而是通过JS修改网页的DOM来执行恶意脚本进行攻击。注意,DOM型XSS与反射型和存储型最大的区别在于,DOM型XSS不经过服务端,全部的攻击过程都在客户端完成

输入<script>alert("xss")</script>,查看源代码,看下面这段代码
"<a href='"+str+"'>what do you see?</a>"; str是我们传入的字符串,可以利用单引号实现闭合<a href = ’ " 'onclick="alert('xss')">

在这里插入图片描述输出结果:
在这里插入图片描述

四、DOM型XSS-X

DOM-X型危害比DOM型更大,它能够像反射型一样在URL中体现,将URL发给了受害者就能进行攻击

随意输入,查看源码:
在这里插入图片描述关键代码:<a href='"+xss+"'>就让往事都随风,都随风吧</a> ,和上一个没什么区别,使用上一个也可以通过,这里我们使用另一种方式
'><img src=" " onerror='alert(1)'/> 通过闭合单引号,然后利用img标签,当src链接内容出错时,会自动执行onerror错误指令

查看结果:
在这里插入图片描述

五、xss之盲打

输入 123456
在这里插入图片描述
提交后进入后台,地址:http://127.0.0.1/pikachu-master/vul/xss/xssblind/admin_login.php
进入后用户名:admin密码:123456
在这里插入图片描述

在****这个时候我们可以看到输入的内容在后台被存储了,所以假设我们输入的是有害的xss,那么当管理员访问后台时,命令便会自动执行,造成危害

六、xss之过滤

输入123,可以正常输出
在这里插入图片描述
输入:<script>alert("xss")</script>会发现内容被过滤可以看到'>'前面的内容没有正常输出,可能把<script过滤了
在这里插入图片描述绕过方式有很多种,这里列举几种常见的
大写绕过<SCRIPT>alert("xss")</SCRIPT>
转换标签:<img src=a onerror=alert("xss")>
当alert被一起禁用<img src="a" onerror="comfirm('xss')">

都可以绕过:
在这里插入图片描述

七、xss之htmlspecialchars

首先了解一下htmlspecialchars,这是php代码中的一个内容,会把一些符号转换成html编码的形式,如下图,'<''>',两个符号都被转换了,但是单引号可以正常输出

在这里插入图片描述
所以可以先输入<script>alert("xss")</script>,发现无法正常执行
查看源代码发现被过滤

在这里插入图片描述
使用单引号过滤:'onclick='alert(1)'
点击会出现弹窗:
在这里插入图片描述

八、xss之href输出

href在html编码里属于超链接有一个特殊特性:利用 JavaScript 来动态改变 href 属性的值
输入:<script>alert("xss")</script>,查看源代码,发现输入的内容被href变成了超链接,并且部分符号被转换

在这里插入图片描述
利用JavaScript特性,输入:javascript:alert('xss')

在这里插入图片描述

九、xss之js输出

输入查看源码,看到代码被单引号闭合过滤,遇到这种情况,有两种过滤方式,
单引号闭合:';alert(9)//
双引号闭合:";alert(9)//

在这里插入图片描述

输入 ';alert(9)//

在这里插入图片描述


总结

危害:

  1. 窃取敏感信息:攻击者可以通过XSS漏洞窃取用户的个人数据,如登录凭证、信用卡信息等。
  2. 会话劫持:攻击者可以盗取用户的会话令牌,进而冒充用户身份进行操作。
  3. 网页篡改:攻击者可以篡改网页内容,插入恶意代码或信息,损害网站声誉。
  4. 传播恶意软件:通过XSS漏洞,攻击者可以诱导用户下载恶意软件或点击恶意链接。
  5. 数据损坏:攻击者可能破坏或修改网站数据,导致服务中断或数据丢失。
  6. 声誉损害:XSS攻击可能导致用户对网站失去信任,损害网站和企业的声誉。

防护措施:

  1. 输入验证:对所有用户输入进行验证,确保输入数据符合预期格式。
  2. 输出编码:对输出内容进行编码,防止将用户输入作为HTML或JavaScript执行。
  3. 内容安全策略(CSP):实施CSP,限制页面可以加载和执行的资源,减少XSS攻击的风险。
  4. 使用安全的框架和库:采用支持XSS防护的框架和库,如OWASP的AntiSamy、JavaScript的DOMPurify等。
  5. 限制Cookie权限:使用httpOnly和secure标志保护Cookie,减少会话劫持的风险。
  6. HTTPS加密:使用HTTPS加密通信,防止中间人攻击。
  7. 教育和培训:提高开发者和用户对XSS攻击的认识和防范意识。
  8. 定期更新和打补丁:及时更新Web应用和服务器软件,修补已知的安全漏洞。
  9. 监控和日志记录:监控Web应用活动,记录异常行为,及时发现和响应XSS攻击。
  10. 实施访问控制:确保只有授权用户可以访问敏感数据或执行特定操作。

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

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

相关文章

Easyexcel(7-自定义样式)

相关文章链接 Easyexcel&#xff08;1-注解使用&#xff09;Easyexcel&#xff08;2-文件读取&#xff09;Easyexcel&#xff08;3-文件导出&#xff09;Easyexcel&#xff08;4-模板文件&#xff09;Easyexcel&#xff08;5-自定义列宽&#xff09;Easyexcel&#xff08;6-单…

FFN层,全称为Feed-Forward Network层;Layer Normalization;Softmax;

目录 FFN层,全称为Feed-Forward Network层 Layer Normalization 操作步骤 归一化和Softmax 归一化解决量纲问题 归一化(Normalization) Softmax FFN层,全称为Feed-Forward Network层 是Transformer架构中的一个关键组件。它本质上是一个简单的多层感知机(MLP),用…

Android OTA 更新面试题及参考答案

目录 什么是 OTA 更新? 什么是 OTA 更新的主要目的? Android OTA 更新是如何与系统的分区机制相互配合的? 什么是 A/B 分区更新,它的优势是什么? Android 系统中的 “System Partition” 和 “Vendor Partition” 有什么区别? 请详细阐述 Android OTA 更新的基本原…

网络研讨会——如何使用Figma、Canva或Sketch设计Delphi移动应用程序

2024年11月30日星期六 - 北京午夜12点 如何使用Figma、Canva或Sketch设计Delphi移动应用程序 专业设计应用程序Figma、Sketch和Canva有大量优秀的应用程序设计等着你去实现。我们看看有什么可用的&#xff0c;并使用一些最好的设计来创建应用程序。。。 立即报名免费在线研讨会…

通用网络安全设备之【防火墙】

概念&#xff1a; 防火墙&#xff08;Firewall&#xff09;&#xff0c;也称防护墙&#xff0c;它是一种位于内部网络与外部网络之间的网络安全防护系统&#xff0c;是一种隔离技术&#xff0c;允许或是限制传输的数据通过。 基于 TCP/IP 协议&#xff0c;主要分为主机型防火…

对于GC方面,在使用Elasticsearch时要注意什么?

大家好&#xff0c;我是锋哥。今天分享关于【对于GC方面&#xff0c;在使用Elasticsearch时要注意什么&#xff1f;】面试题。希望对大家有帮助&#xff1b; 对于GC方面&#xff0c;在使用Elasticsearch时要注意什么&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java…

[仓颉Cangjie刷题模板] 优先队列(含小顶堆实现)

[TOC]([仓颉Cangjie刷题模板] 优先队列(含小顶堆实现) ) 一、 算法&数据结构 1. 描述 堆是一个可以维护实时最大/最小值的数据结构&#xff0c;相比treeset等常数优很多。 常用于维护一组数据的极值贪心问题。2. 复杂度分析 初始化O(n)查询O(1)修改O(lgn) 3. 常见应用…

解决 MySQL 5.7 安装中的常见问题及解决方案

目录 前言1. 安装MySQL 5.7时的常见错误分析1.1 错误原因及表现1.2 错误的根源 2. 解决方案2.1 修改YUM仓库配置2.2 重新尝试安装2.3 处理GPG密钥错误2.4 解决依赖包问题 3. 安装成功后的配置3.1 启动MySQL服务3.2 获取临时密码3.3 修改root密码 4. 结语 前言 在Linux服务器上…

计算机网络 网络安全基础——针对实习面试

目录 网络安全基础你了解被动攻击吗&#xff1f;你了解主动攻击吗&#xff1f;你了解病毒吗&#xff1f;说说基本的防护措施和安全策略&#xff1f; 网络安全基础 网络安全威胁是指任何可能对网络系统造成损害的行为或事件。这些威胁可以是被动的&#xff0c;也可以是主动的。…

oracle小技巧-解决特殊密码字符而导致的exp错误

在使用oracle数据库的时候&#xff0c;我们经常会利用exp工具对某些表进行导出。但有些时候&#xff0c;因我们用户密码为安全性设有特殊字符&#xff0c;导致exp导出时候报&#xff1a;“EXP-00056和ORA-12154”&#xff0c;今天我们就分享下如何通过设置符号隔离的小技巧解决…

【在 PyTorch 中使用 tqdm 显示训练进度条,并解决常见错误TypeError: ‘module‘ object is not callable】

在 PyTorch 中使用 tqdm 显示训练进度条&#xff0c;并解决常见错误TypeError: module object is not callable 在进行深度学习模型训练时&#xff0c;尤其是在处理大规模数据时&#xff0c;实时了解训练过程中的进展是非常重要的。为了实现这一点&#xff0c;我们可以使用 tq…

Taro 鸿蒙技术内幕系列(三) - 多语言场景下的通用事件系统设计

基于 Taro 打造的京东鸿蒙 APP 已跟随鸿蒙 Next 系统公测&#xff0c;本系列文章将深入解析 Taro 如何实现使用 React 开发高性能鸿蒙应用的技术内幕 背景 在鸿蒙生态系统中&#xff0c;虽然原生应用通常基于 ArkTS 实现&#xff0c;但在实际研发过程中发现&#xff0c;使用 C…

【计算机网络】C/C++实现解析Wireshark离线数据包,附源码

直接先上demo 以下是一个完整的示例代码&#xff0c;演示如何使用 pcap_open_offline 函数打开一个捕获文件并读取数据包。 #include <stdio.h> #include <pcap.h>int main(int argc, char **argv) {if (argc ! 2) {fprintf(stderr, "Usage: %s <capture…

PostgreSQL外键全解析:从概念到实践的进阶指南

全文目录&#xff1a; 开篇语目录前言&#xff1a;关于外键你真的懂了吗&#xff1f;&#x1f914;外键的定义和作用 &#x1f4da;如何在PostgreSQL中创建外键 &#x1f331;基本语法示例&#xff1a;建立简单的外键关系 外键约束的各种行为和选项 &#x1f9e9;ON DELETE 与 …

带有悬浮窗功能的Android应用

android api29 gradle 8.9 要求 布局文件 (floating_window_layout.xml): 增加、删除、关闭按钮默认隐藏。使用“开始”按钮来控制这些按钮的显示和隐藏。 服务类 (FloatingWindowService.kt): 实现“开始”按钮的功能&#xff0c;点击时切换增加、删除、关闭按钮的可见性。处…

Day 27 贪心算法 part01

贪心算法其实就是没有什么规律可言,所以大家了解贪心算法 就了解它没有规律的本质就够了。 不用花心思去研究其规律, 没有思路就立刻看题解。 基本贪心的题目 有两个极端,要不就是特简单,要不就是死活想不出来。 学完贪心之后再去看动态规划,就会了解贪心和动规的区别。…

PyQt5控件QWebEngineView(WebView)

PyQt5控件QWebEngineView(WebView) 下载依赖 PyQt5、PyQtWebEngine pip install --index-urlhttps://mirrors.aliyun.com/pypi/simple/ PyQt5 pip install --index-urlhttps://mirrors.aliyun.com/pypi/simple/ PyQtWebEngine加载外部网页 import sys from PyQt5.QtCore im…

ML 系列:第 36 节 — 统计学中的抽样类型

ML 系列&#xff1a;第 36 天 — 统计学中的抽样类型 文章目录 一、说明二、抽样方法三、简单随机抽样四、 Stratified Sampling分层抽样五、 Cluster Sampling 整群抽样六、Systematic Sampling系统抽样七、Convenience Sampling便利抽样八、结论 一、说明 统计学中的抽样类型…

godot游戏引擎_瓦片集和瓦片地图介绍

在 Godot 中&#xff0c;TileSet 和 TileMap 是用于处理瓦片地图的两个关键概念&#xff0c;它们的作用和用途有明显的区别。以下是两者的详细对比&#xff1a; 1. TileSet&#xff08;瓦片集&#xff09; TileSet 是资源&#xff0c;定义瓦片的内容和属性。 特点&#xff1a…

CGMA – Cloth Creation and Simulation for Real-Time

CGMA – 实时布料创建和模拟 Info&#xff1a; 本课程介绍如何将 Marvelous Designer 整合到布料工作流程中以实时创建角色&#xff0c;从软件基础知识到创建逼真和风格化服装的高级技术。本课程将首先介绍软件&#xff0c;通过创建现代、现代的服装&#xff0c;然后深入探讨使…