Pikachu靶场--XSS

server/2024/10/21 14:30:11/

参考借鉴

Pikachu靶场之XSS漏洞详解_pikachu xss-CSDN博客

一个视频讲清楚XSS跨站脚本(CTF教程,Web安全渗透测试入门)_bilibili

反射型xss(get)

 输入payload:<script>alert(123)</script>

解决一:在URL框内输入

 解决二:修改最大长度

再次输入payload:<script>alert(123)</script>

成功弹窗

F12打开开发者工具,发现payload被注入 

                

反射型xss(post)

首先登录

输入payload:<script>alert(document.cookie)</script>

成功弹窗

                

存储型xss

输入payload:<script>alert(document.cookie)</script>

成功弹窗 

F12查看一下源代码 

复制网址

刷新页面或者用其他浏览器来到本页面,也出现同样的弹框,

说明存储型XSS能危害所有访问该页面的用户

                

DOM型xss

F12分析源码

利用了DOM将字符串进行了拼接并把值给a标签中的href,然后输出一个what do you see? 

可以利用已知条件构建payload

<a href='' οnclick='alert(123)'>'>what do you see?</a>
Payload为:

'οnclick='alert(123)'> 

<a href=''><img src=''οnerrοr='alert(123)'/>'>what do you see?</a>

Payload为:

'><img src=''οnerrοr='alert(123)'/>

输入上面的payload

成功弹窗

                        

DOM型xss-x

提交之后的内容跑到URL里面去了(这是和上一关的不同)

F12查看源码 

分析可知这题跟上题一样,也是利用了DOM将字符串进行拼接并把值给a标签的href

<a href='' οnclick='alert(123)'>'>what do you see?</a>
Payload为:

'οnclick='alert(123)'> 

<a href=''><img src=''οnerrοr='alert(123)'/>'>what do you see?</a>

Payload为:

'><img src=''οnerrοr='alert(123)'/>

成功弹窗

DOM型XSS只在前端,与后端毫无关系。DOM-X型危害更大,它能够像反射型一样在URL中体现,将URL发给了受害者就能进行攻击

                

xss之盲打

F12查看源码 

查看提示 

登录 

登录成功 

输入payload:<script>alert(document.cookie)</script> 

成功弹窗 

                

xss之过滤

输入payload:<script>alert(123)</script>

找出被过滤的内容

被过滤的内容是<*script,那就不用< script>标签,尝试使用别的标签

<a herf="#" οnclick="alert(document.cookie)">

成功弹窗

                

xss之htmlspecialchars

htmlspecialchars函数是 PHP 中的一个内置函数,它将特定的HTML字符转换为HTML实体字符

例如:htmlspecialchars( "<script>")   输出结果为:&lt;script&gt;  因此<script>脚本就不会起作用

Ctrl+U查看源码

验证了htmlspecialchars函数的作用,可以用单引号闭合,PHP8.0之前不会转译单引号

输入payload:' οnclick='alert(1)'

成功弹窗

                

xss之href输出

输入payload:<script>alert(123)</script>

 Ctrl+U查看源码,Ctrl+F搜索关键词,发现输入的payload已经被转译

输入payload:' οnclick='alert(1)'

换成单引号试试,发现还是被转译

<a>标签中href属性值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。如果用户选择了<a>标签中的内容,那么浏览器会尝试检索并显示 href 属性指定的 URL 所表示的文档,或者执行 JavaScript 表达式、方法和函数的列表

因此可以在<a>标签中添加JS代码段

输入payload:javascript:alert(document.cookie)

成功弹窗

                

xss之js输出

输入payload:<script>alert(123)</script>

Ctrl+U查看源代码,Ctrl+F查找关键词

刚刚输入的东西跑到<script>标签内了,并且没有被编码

现在只需要插入一条JS语句就好了,用’;闭合掉当前的语句,然后插入新语句,然后再用//注释掉老语句遗留下来的';

输入payload:';alert(123);//

成功弹窗


http://www.ppmy.cn/server/51306.html

相关文章

同时使用磁吸充电器和Lightning时,iPhone充电速度会变快吗?

在智能手机的世界里&#xff0c;续航能力一直是用户关注的焦点。苹果公司以其创新的MagSafe技术和传统的Lightning接口&#xff0c;为iPhone用户提供了多样化的充电解决方案。 然而&#xff0c;当这两种技术同时使用时&#xff0c;它们能否带来更快的充电速度&#xff1f;本文…

【IC验证】UVM实验lab03

1. TLM端口的创建、例化与使用 创建&#xff1a; uvm_get_blocking_port #(fmt_trans) mon_bp_port; 例化&#xff1a; function new(string name "mcdf_refmod", uvm_component parent);super.new(name, parent);fmt_trans new("fmt_trans", this);…

基于jeecgboot-vue3的Flowable流程-业务表单

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 这个部分主要讲自定义业务表单的流程关联 1、挂接关联流程对话框代码 <!--挂载关联流程--><a-modal cancel"flowOpen false" :title"flowTitle" v-model:…

云原生面试

云原生面试 Kubernetes原理Kubernetes 如何保证集群的安全性。简述 Kubernetes 准入机制简述Kubernetes Secret 有哪些使用方式简述Kubernetes PodSecurityPolicy机制简述Kubernetes PodSecurityPolicy机制能实现哪些安全策略简述Kubernetes 网络策略原理简述Kubernetes 数据持…

Day7 —— 大数据技术之Hive

Hive快速入门系列 Hive的概述什么是Hive&#xff1f;使用Hive的原因 Hive架构Hive安装Hive配置文件修改启动Hive以命令行方式启动&#xff08;在$HIVE_HOME/bin目录下&#xff09;以JDBC连接启动&#xff08;beeline方式连接&#xff09; Hive基本操作Hive数据库操作Hive表操作…

Python学习笔记17:进阶篇(六)代码测试

代码测试 代码测试是软件开发过程中的关键环节&#xff0c;旨在确保代码质量、功能正确性以及性能符合预期。 在开发过程中&#xff0c;进行代码测试有很多好处&#xff1a; 提高软件质量&#xff1a;通过发现并修复错误&#xff0c;测试有助于提升软件的功能性、可靠性和稳…

Vite: 新一代高效的前端构建工具

概述 随着前端技术的飞速发展&#xff0c;构建工具在项目开发中扮演着至关重要的角色因为项目日益复杂&#xff0c;开发体验和构建效率成为了开发者关注的焦点在众多前端构建工具中&#xff0c;Vite凭借其独特的优势&#xff0c;逐渐成为开发者们的新宠Vite&#xff0c;作为一…

尚硅谷爬虫学习第一天(3) 请求对象定制

#url的组成 #协议 http&#xff0c;https&#xff0c;一个安全&#xff0c;一个不安全。 #主机&#xff0c; 端口号 学过java 的肯定知道 沃日&#xff0c;以前面试运维的时候&#xff0c;问到主机地址&#xff0c;我懵逼了下&#xff0c;回了个8080 # 主机地址 80 # …