XSS漏洞:pikachu靶场中的XSS通关

目录

1、反射型XSS(get)

2、反射性XSS(POST)

3、存储型XSS

4、DOM型XSS

5、DOM型XSS-X

6、XSS之盲打

7、XSS之过滤

8、XSS之htmlspecialchars

9、XSS之href输出

10、XSS之js输出


最近在学习XSS漏洞,这里使用pikachu靶场中的SQL注入来复习+练习一下XSS漏洞

进入漏洞环境中可以看到有好几种类型,我们先点击到概述:

可以看到是这样介绍XSS漏洞的:

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

1、反射型XSS(get)

首先就是反射性的XSS,这个简单易懂,就是直接插入一个反弹代码,如果成功反弹了就是存在反射性XSS漏洞,可以看到这里的页面如下所示:

那么就可以尝试在输入框中输入一个<script>alert(1)</script>来验证一下

但是尝试发现输入框的长度有限制,我们需要将限制长度修改一下:

尝试后发现,修改完长度后,输入<script>alert(1)</script>后点击submit后成功弹窗了

2、反射性XSS(POST)

来到这一关,可以看到时一个登录框,是POST提交的方式

可以使用简单的暴力破解就可以知道账号密码时admin 123456 ,登录成功后的页面:

然后尝试进行弹窗:

可以看到成功的弹窗了

既然可以弹窗那么就可以尝试使用在线xss来获取更多信息:

XSS在线平台新建项目,生成xss代码:

将url放在弹窗处:

再去看xss在线平台就可以看到成功的获取到了信息:

3、存储型XSS

来到存储型xss模块中可以看到如下页面:

可以看到是一个留言板,那么尝试输入script代码:

可以看到弹窗了,后面再次刷新页面就会发现又弹窗了,这说明我们输入的内容插入到网站的后台数据库中了,如果在这里插入在线网站的获取cookie的js代码,那么后面所有查看该留言的所有用户的信息都会被我们获取到

4、DOM型XSS

来到这一关,可以看到如下页面:

可以看到是一个输入框,然后可以点击click me!

那么尝试输入一个弹窗代码试试看:

可以看到输入后,并没有弹窗,而是输出了一个链接,那么我就想起来之前学习过的使用a超链接来进行弹窗的方法,尝试一下:

对前面的gref标签进行闭合后,我们可以输入一个事件弹窗代码,然后将鼠标移动到图片上后就成功大弹窗了,也可以使用点击事件进行弹窗:

5、DOM型XSS-X

来到这一关,可以看到如下页面:

可以看到是一个输入框,后面写着“请说出你的伤心事”,有趣

尝试进行闭合弹窗:

点击链接可以看到跳转到下一个页面,成功弹窗了:

6、XSS之盲打

可以看到是一个意见提交页面,我们输入弹窗代码,然后看提示会发现后台地址,因此我们提交完评论后尝试访问后台登录地址:

可以看到输入后台登录账号密码后,直接进行了弹窗,这时如果登录的是管理员,我们就成功的可与拿到管理员的信息

7、XSS之过滤

来到这一关,尝试弹窗,可以看到好像输入的标签被过滤了,因此我们需要绕过后再进行弹窗,

通过不断地测试会发现使用大小写、事件弹窗都可以绕过限制成功弹窗:

接下来我们尝试大小写混合的方式来进行注入,成功弹窗。

<ScRipT>alert('xss')</ScRipT>

<img src=x onerror="alert(111)"/> 

8、XSS之htmlspecialchars

首先先来了解一下htmlspecialchars是什么:

htmlspecialchars是一种用于转义HTML特殊字符的函数,可以将一些特殊字符转换为HTML实体,防止恶意用户输入恶意代码导致安全漏洞。htmlspecialchars函数可以将特殊字符如<、>、&、"等转换为对应的HTML实体,从而确保在网页中显示这些字符时不会被解释为HTML代码。htmlspecialchars函数在PHP中常用于对用户输入的数据进行处理,以防止跨站脚本攻击(XSS)等安全问题。

那么说明这一关是有很严格的过滤的,因此还是需要绕过限制才能进行弹窗:

可以看到使用'闭合后,加上点击事件是可以成功弹窗的

9、XSS之href输出

href输出在a标签的herf属性里面,可以使用javascript协议来执行js 防御的时候只允许http或者https

因此我们可以利用js为协议来进行弹窗:

10、XSS之js输出

这一关通过不断尝试发现提前闭合<script>标签可以进行弹窗:

到此,pikachu靶场中的XSS相关的关卡就学习完毕了

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

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

相关文章

与WAF的“相爱相杀”的RASP

用什么来保护Web应用的安全&#xff1f; 猜想大部分安全从业者都会回答&#xff1a;“WAF&#xff08;Web Application Firewall,应用程序防火墙&#xff09;。”不过RASP&#xff08;Runtime Application Self-Protection&#xff0c;应用运行时自我保护&#xff09;横空出世…

LeetCode198:打家劫舍

题目描述 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚上被小偷闯入&#xff0c;系统会自动报警。 给定一个代表每个房屋存…

【LeetCode】【5】最长回文子串

文章目录 [toc]题目描述样例输入输出与解释样例1样例2 提示Python实现动态规划 个人主页&#xff1a;丷从心 系列专栏&#xff1a;LeetCode 刷题指南&#xff1a;LeetCode刷题指南 题目描述 给一个字符串s&#xff0c;找到s中最长的回文子串 样例输入输出与解释 样例1 输入…

打造专业级网页排版:全方位解析专业字体家族font-family实践与全球知名字体库导览

CSS中的字体家族&#xff08;font-family&#xff09;属性用于指定文本所使用的字体系列。它允许开发者选择一种或多种字体作为备选&#xff0c;确保在浏览器中以最佳可用字体显示文本。本文将深度解析专业级网页排版中字体家族&#xff08;font-family&#xff09;设置的实践技…

嵌入式实时操作系统笔记2:UCOS基础知识_UC/OS-III移植(STM32F4)_编写简单的UC/OS-III任务例程(失败.....)

今日学习嵌入式实时操作系统RTOS&#xff1a;UC/OS-III实时操作系统 本文只是个人学习笔记备忘用&#xff0c;附图、描述等 部分都是对网上资料的整合...... 文章主要研究如何将UC/OS-III 移植到 STM32 F407VET6上&#xff0c;提供测试工程下载 &#xff08;2024.5.21 文章未…

明天(周六)下午!武汉Linux爱好者线下沙龙,我们在华中科技大学等你!

2024 年 5月 25 日&#xff08;周六&#xff09;下午&#xff0c;我们将在「武汉市洪山区」 珞喻路 1037 号华中科技大学南五楼 613 室举办武汉 Linux 爱好者线下沙龙&#xff08;WHLUG&#xff09;&#xff0c;欢迎广大 Linux 爱好者来到现场&#xff0c;与我们一同交流技术&a…

【Spring】SSM介绍_SSM整合

1、SSM介绍 1.1简介 SSM&#xff08;Spring SpringMVC MyBatis&#xff09;整合是一种流行的Java Web应用程序框架组合&#xff0c;它将Spring框架的核心特性、SpringMVC作为Web层框架和MyBatis作为数据访问层框架结合在一起。这种整合方式提供了从数据访问到业务逻辑处理再…

构建智能化的语言培训教育技术架构:挑战与机遇

随着全球化的发展和人们对语言学习需求的增长&#xff0c;语言培训教育行业正面临着越来越多的挑战和机遇。在这个背景下&#xff0c;构建智能化的语言培训教育技术架构成为提升服务质量和效率的重要手段。本文将探讨语言培训教育行业的技术架构设计与实践。 一、智能化教学平台…

接口响应断言

目录 接口断言介绍接口断言方式介绍响应状态码断言 课程目标 掌握什么是接口断言。了解接口断言的多种方式。掌握如何对响应状态码完成断言。 思考 这两段代码是完整的接口自动化测试代码吗&#xff1f; …省略… when().get(“https://httpbin.ceshiren.com/get?namead&…

Golang | Leetcode Golang题解之第109题有序链表转换二叉搜索树

题目&#xff1a; 题解&#xff1a; var globalHead *ListNodefunc sortedListToBST(head *ListNode) *TreeNode {globalHead headlength : getLength(head)return buildTree(0, length - 1) }func getLength(head *ListNode) int {ret : 0for ; head ! nil; head head.Next…

AI视频智能分析技术赋能营业厅:智慧化管理与效率新突破

一、方案背景 随着信息技术的快速发展&#xff0c;图像和视频分析技术已广泛应用于各行各业&#xff0c;特别是在营业厅场景中&#xff0c;该技术能够有效提升服务质量、优化客户体验&#xff0c;并提高安全保障水平。TSINGSEE青犀智慧营业厅视频管理方案旨在探讨视频监控和视…

爬虫基础1

一、爬虫的基本概念 1.什么是爬虫&#xff1f; 请求网站并提取数据的自动化程序 2.爬虫的分类 2.1 通用爬虫&#xff08;大而全&#xff09; 功能强大&#xff0c;采集面广&#xff0c;通常用于搜索引擎&#xff1a;百度&#xff0c;360&#xff0c;谷歌 2.2 聚焦爬虫&#x…

Linux 如何用上次的checkpoint文件dist_train.sh 接着训练【mmdetection】

在Linux环境下&#xff0c;如果你想要用上一次的checkpoint文件继续训练&#xff0c;你可以在你的dist_train.sh脚本中设置--resume_from参数。这个参数指定了checkpoint文件的路径&#xff0c;训练会从该文件的状态继续进行。 例如&#xff0c;如果你的checkpoint文件名为las…

LAMDA面试准备(2024-05-23)

有没有学习过机器学习&#xff0c;提问了 FP-Growth 相比 Apriori 的优点 1. 更高的效率和更少的计算量&#xff08;时间&#xff09; FP-Growth 通过构建和遍历 FP-树 (Frequent Pattern Tree) 来挖掘频繁项集&#xff0c;而不需要像 Apriori 那样生成和测试大量的候选项集。具…

IDEA 将多个微服务Springboot项目Application启动类添加到services标签,统一启动、关闭服务

IDEA 将多个微服务Springboot项目Application启动类添加到services标签&#xff0c;统一启动、关闭服务 首先在Views > Tool Windows > Services 添加services窗口 点击services窗口&#xff0c;首次需要添加配置类型&#xff0c;我们选择Springboot 默认按照运行状态分…

LiveGBS流媒体平台GB/T28181用户手册-用户管理:添加用户、编辑、关联通道、搜索、重置密码

LiveGBS流媒体平台GB/T28181用户手册-用户管理:添加用户、编辑、关联通道、搜索、重置密码 1、用户管理1.1、添加用户1.2、编辑用户1.3、关联通道1.4、重置密码1.5、搜索1.6、删除 2、搭建GB28181视频直播平台 1、用户管理 1.1、添加用户 添加用户&#xff0c;可以配置登陆用户…

Node.js —— 前后端的身份认证 之用 express 实现 JWT 身份认证

JWT的认识 什么是 JWT JWT&#xff08;英文全称&#xff1a;JSON Web Token&#xff09;是目前最流行的跨域认证解决方案。 JWT 的工作原理 总结&#xff1a;用户的信息通过 Token 字符串的形式&#xff0c;保存在客户端浏览器中。服务器通过还原 Token 字符串的形式来认证用…

如何彻底搞懂装饰器(Decorator)设计模式?

对于任何一个软件系统而言&#xff0c;往现有对象中添加新功能是一种不可避免的实现场景&#xff0c;但这一实现过程对现有系统的影响可大可小。从架构设计上讲&#xff0c;我们也知道存在一个开闭原则&#xff08;Open-Closed Principle&#xff0c;OCP&#xff09;&#xff0…

抖音极速版:抖音轻量精简版本,新人享大福利

和快手一样&#xff0c;抖音也有自己的极速版&#xff0c;可视作抖音的轻量精简版&#xff0c;更专注于刷视频看广告赚钱&#xff0c;收益比抖音要高&#xff0c;可玩性更佳。 抖音极速版简介 抖音极速版是一个提供短视频创业和收益任务的平台&#xff0c;用户可以通过观看广…

Spring系列-03-BeanFactory和Application接口和相关实现

BeanFactory BeanFactory和它的子接口们 BeanFactory 接口的所有子接口, 如下图 BeanFactory(根容器)-掌握 BeanFactory是根容器 The root interface for accessing a Spring bean container. This is the basic client view of a bean container; further interfaces such …