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-单…

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

概念&#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;今天我们就分享下如何通过设置符号隔离的小技巧解决…

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

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

带有悬浮窗功能的Android应用

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

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

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

CGMA – Cloth Creation and Simulation for Real-Time

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

Springboot组合SpringSecurity安全插件基于密码的验证Demo

Springboot组合SpringSecurity安全插件基于密码的验证Demo!下面的案例&#xff0c;都是基于数据库mysql&#xff0c;用户密码&#xff0c;验证登录的策略demo。 1&#xff1b;引入maven仓库的坐标 <dependency><groupId>org.springframework.boot</groupId>…

从Full-Text Search全文检索到RAG检索增强

从Full-Text Search全文检索到RAG检索增强 时光飞逝&#xff0c;转眼间六年过去了&#xff0c;六年前铁蛋优化单表千万级数据查询性能的场景依然历历在目&#xff0c;铁蛋也从最开始做CRUD转行去了大数据平台开发&#xff0c;混迹包装开源的业务&#xff0c;机缘巧合下做了实时…

单片机学习笔记 8. 矩阵键盘按键检测

更多单片机学习笔记&#xff1a;单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示单片机学习笔记 6. 数码管动态显示单片机学习笔记 7. 独立键盘 目录 0、实现的…

【AI日记】24.11.26 聚焦 kaggle 比赛

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 核心工作 1 内容&#xff1a;研究 kaggle 比赛时间&#xff1a;3 小时 核心工作 2 内容&#xff1a;学习 kaggle 比赛 Titanic - Machine Learning from Disaster时间&#xff1a;4 小时备注&#xff1a;这…

排序算法2

排序算法1-CSDN博客 排序算法1中提及的是较为基础(暴力实现&#xff0c;复杂度较高)的排序算法&#xff0c;不适合于数据量较大的场景&#xff0c;比如序列长度达到1e5 接下来以蓝桥另一道题目来理解其它的排序算法 蓝桥3226 蓝桥账户中心 样例 5 1 5 9 3 7 4、快速排序 快速排…

【数据结构实战篇】用C语言实现你的私有队列

&#x1f3dd;️专栏&#xff1a;【数据结构实战篇】 &#x1f305;主页&#xff1a;f狐o狸x 在前面的文章中我们用C语言实现了栈的数据结构&#xff0c;本期内容我们将实现队列的数据结构 一、队列的概念 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端…

macos 14.0 Monoma 修改顶部菜单栏颜色

macos 14.0 设置暗色后顶部菜单栏还维持浅色&#xff0c;与整体不协调。 修改方式如下&#xff1a;

长三角文博会:Adobe国际认证体系推动设计人才评价新标准

2024年11月22日&#xff0c;由上海、江苏、浙江、安徽三省一市党委宣传部共同发起的第五届长三角文化博览会&#xff08;简称“长三角文博会”&#xff09;在上海国家会展中心盛大启幕。长三角文博会自2018年起已成功举办多届&#xff0c;已成为展示区域文化产业发展成果、推动…

安装数据库客户端工具

如果没有勾选下面的&#xff0c;可以运行下面的两个命令 红框为自带数据库 新建数据库 右键运行mysql文件&#xff0c;找到数据库&#xff0c;并刷新