pikachu靶场(xss通关教程)

(注:若复制注入代码攻击无效,请手动输入注入语句,在英文输入法下)

反射型xss(get型)

1.打开网站

发现有个框,然后我们在框中输入一个“1”进行测试,

可以看到提交的数据在url处有显示,在页面中也显示了相应的结果。

2.在输入框中插入我们的攻击语句

<script>alert("xss")</script>

 

发现只能输入上面的字符,后面不能再输入了

此时有两种方法

第一种,在url栏中提交数据

访问发现没什么反应,那是因为在url栏中()要被编码

所以输入的数据应该是

<script>alert%28"xss"%29</script>

此时访问页面,则会出现弹窗 

第二种,鼠标右键单击当前页面,点击检查

以图中的序号为准,依次点击

会看到图中的位置有个maxlength,就是这个限制了输入框中输入的数据长度,把它的值改成2000,然后点击右上角关掉检查页面(注意,不是关闭浏览器页面)

就可以在框中输入我们的攻击语句

<script>alert("xss")</script>

此时点击submit,页面同样会弹窗 

 反射型xss(post型)

1.打开网站

首先给了我们一个登陆框,在右上角点击提示,会出现用户名与密码,然后登录

2.登录之后在输入框输入1,点击提交

发现地址栏中没有输入的结果,

打开我们的抓包工具 

从请求头上可以看到提交方式为post

抓包看到了post提交的数据

3.在输入框中输入攻击语句

<script>alert("xss")</script>

4.弹窗

存储型xss 

1.打开网站

2.直接在输入框中输入1,提交

可以看到数据保存在下方了,一般放在服务器上,

3.插入攻击语句,点击提交

攻击语句:<script>alert("xss")</script>

出现弹窗 ,而且因为是存在服务器上的,所以每次提交数据,都会被执行

4.输入admin,点击提交

也会弹窗

DOM型xss

1.打开网站,可以看到一个输入框

2.输入1提交

3.直接右键当前页面,点击检查

4.按顺序点击(快速定位到输入框的前端代码)

5.点击下图中的两个红色框

  

可以看到我们刚才输入的1变成了一个超链接

可以看到闭合符号为('),需要逃逸出来前面的超链接,闭合掉前面的<a>标签

6.构造攻击语句

'> <src='a' οnclick=alert(1)>

输入到输入框中,点击提交

 可以看到<a>标签被闭合了

7.点击超链接

8.就会出现弹窗

DOM型xss-x

和DOM型xss一样,检查,查看闭合符号,然后构造攻击语句。

在输入框中插入

'> <src='a' οnclick=alert(1)>

按照图中顺序点击,则会弹窗。

xss之盲打

1.打开网站

看到有框,秉承着有框就插的原理,注入我们的弹窗语句

<script>alert("xss")</script>

2.点击提交,发现并没有弹窗

输入正常的语句也没有什么有用的显示,此时点击右上角的提示,它让我们登录后台看一下

 

3.点击提示,把框1中的地址复制到框2中

完整的地址应该是

localhost:8086/pikachu-master/vul/xss/xssblind/admin_login.php

可以看到出现了一个登陆框,输入账号密码,若不知道,可以点击右上角的提示查看

 

4. 登录之后可以看到出现弹窗。

xss之过滤

1.打开网站,直接插入攻击语句

<script>alert("xss")</script>

看到输出的是这样,

当我们输入一个正常值,比如我爱学习

可以看到我们输入的值被放在单引号里面了,而我们的攻击语句只有>,说明他对我们的输入做了过滤。 

2.使用其他弹窗函数

比如:

<img src="x" οnerrοr=alert("xss")>

也可以用其他的弹窗函数。 

3.出现弹窗

xss之htmlspecialchars 

1.打开网站,输入注入语句

2.发现被记录在页面上

3.右键检查,发现变成了一个超链接

4.构造注入语句

 javascript:alert(1)

5.点击提交,点击下面的链接,出现弹窗

 

 xss之href输出

和上题类似,输入注入语句,右键检查,发现也是被记录在a标签的herf属性内

用注入语句

 javascript:alert(1)

 

点击框中的超链接,出现弹窗

 

xss之js输出 

1.打开网站,输入攻击语句

<script>alert(1)</script>

2.右键检查

 

发现我们输入的语句被放在了这里,而且后面的</script>标签和前面本身就有的<script>标签凑成了一对,导致我们的攻击语句不能正常运行,想办法闭合掉前面的<script>

3.构造攻击语句

</script><script>alert(1)</script>

4.点击提交,出现弹窗

 

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

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

相关文章

Debian Linux 下给Nginx 1.26.0 编译增加Brotli算法支持

明月发现参考【给Nginx添加谷歌Brotli压缩算法支持】一文给出的方法&#xff0c;在Debian Linux 12.5下就一直编译失败&#xff0c;主要的错误是因为文件缺失&#xff0c;在专门又安装了apt-get install libbrotli-dev的依赖库后依然会因为文件缺失无法编译完成&#xff0c;就这…

ERP与MES与WMS集成

WMS储位管理 WMS与MES集成 (一) 打通追溯链 在拣货时&#xff0c;将配料标签与供应商的物料标签进行关联。通过配料标签达到精确追溯及防错目的。针对模糊查询&#xff0c;将工单与物料的供应商信息、仓库流转信息进行关联。 (二) WMS入库 成品(半成品)下线后&#xff0c;M…

draw.text((left, top - 15), text,font=font, fill=“green”)

这是一个Python PIL库中的方法&#xff0c;用于在图片上绘制文本。具体来说&#xff0c;它可以在指定的位置绘制指定的文本&#xff0c;并使用指定的字体、颜色等参数进行渲染。其中&#xff0c;left和top是文本绘制的左上角坐标&#xff0c;text是要绘制的文本内容&#xff0c…

齿轮滚刀刃口钝化技术简介

介绍 在滚刀的使用中发现&#xff0c;进口滚刀和国产滚刀在加工质量和寿命方面存在显著差异。经过多次比较得知&#xff0c;滚刀的使用寿命可以达到国产滚刀的两倍以上&#xff0c;而进口滚刀返回原厂磨削后的使用寿命约为新刀具的90% &#xff0c;但同样经过国内厂家磨削后&a…

【C语言项目】贪吃蛇(下)

个人主页~ 源码在Gitee仓库~ 上一篇贪吃蛇&#xff08;上&#xff09;~ 贪吃蛇 四、核心的实现游戏测试1、GameStart&#xff08;1&#xff09;控制台窗口大小和名字设置&#xff08;2&#xff09;光标隐藏&#xff08;3&#xff09;打印欢迎界面&#xff08;4&#xff09;创建…

azkaban-tools 项目介绍

本文背景 应一个用户的好心和好奇心&#xff0c;在最近水深火热的百忙之中抽时间写完了一个简短的项目介绍&#xff0c;其实就是几个azkaban的批量操作脚本&#xff0c;但在大数据集群的“运维生涯”中&#xff0c;还是帮了自己不少忙&#xff0c;也算是为了它做一个简单的回顾…

Java | Leetcode Java题解之第85题最大矩形

题目&#xff1a; 题解&#xff1a; class Solution {public int maximalRectangle(char[][] matrix) {int m matrix.length;if (m 0) {return 0;}int n matrix[0].length;int[][] left new int[m][n];for (int i 0; i < m; i) {for (int j 0; j < n; j) {if (mat…

Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告

这篇文章主要介绍了Python3 Appium 安卓模拟器实现APP自动化测试并生成测试报告,本文给大家介绍的非常详细&#xff0c;对大家的学习或工作具有一定的参考借鉴价值&#xff0c;需要的朋友可以参考下 本文主要分为以下几个部分 安装Python3 安装Python3的Appium库 安装Andr…

Mp3tag for Mac:音乐标签,轻松管理

还在为杂乱无章的音乐文件而烦恼吗&#xff1f;Mp3tag for Mac&#xff0c;让您的音乐库焕然一新&#xff01;它支持多种音频格式&#xff0c;批量编辑标签&#xff0c;让音乐管理变得简单高效。同时&#xff0c;自动获取在线数据库的音乐元数据&#xff0c;确保您的音乐库始终…

kafka安装配置及集成springboot

1. 安装 单机安装kafka Kafka对于zookeeper是强依赖&#xff0c;保存kafka相关的节点数据&#xff0c;所以安装Kafka之前必须先安装zookeeper dockerhub网址: https://hub.docker.com Docker安装zookeeper 下载镜像&#xff1a; docker pull zookeeper:3.4.14创建容器 doc…

docker(五):DockerFile

文章目录 DockerFile1、Dockerfile构建过程解析2、DockerFile常用保留字命令FROMMAINTAINERRUNEXPOSEWORKDIRUSERENVADDCOPYVOLUMECMDENTRYPOINT总结 3、案例 DockerFile 1、Dockerfile构建过程解析 官网文档&#xff1a;https://docs.docker.com/reference/dockerfile/ Dock…

【论文阅读笔记】HermesSim(Code is not Natural Language) (Security 24)

个人博客地址 HermesSim [Security 24] 论文&#xff1a;《Code is not Natural Language: Unlock the Power of Semantics-Oriented Graph Representation for Binary Code Similarity Detection》 仓库&#xff1a;https://github.com/NSSL-SJTU/HermesSim 提出的问题 二…

JVM调优:JVM中的垃圾收集器详解

JVM&#xff08;Java Virtual Machine&#xff09;垃圾收集器是Java虚拟机中的一个重要组件&#xff0c;负责自动管理Java堆内存中的对象。垃圾收集器的主要任务是找出那些不再被程序使用的对象&#xff0c;并释放它们占用的内存&#xff0c;以便为新的对象分配空间。这个过程被…

C#泛型委托

在C#中&#xff0c;delegate 关键字用于声明委托&#xff08;delegates&#xff09;&#xff0c;委托是一种类型安全的函数指针&#xff0c;允许你传递方法作为参数或从方法返回方法。有时我们需要将一个函数作为另一个函数的参数&#xff0c;这时就要用到委托&#xff08;Dele…

算法题② —— 链表专栏

1. 链表数据结构 struct ListNode {int val;ListNode *next;ListNode() : val(0), next(nullptr) {}ListNode(int x) : val(x), next(nullptr) {}ListNode(int x, ListNode *next) : val(x), next(next) {}};2. 链表的删除 2.1 移除链表元素 力扣&#xff1a;https://leetco…

引擎:主程渲染

一、引擎发展 二、引擎使用 1.游戏渲染流程 2.3D场景编辑器操作与快捷键 3.节点的脚本组件 脚本介绍 引擎执行流程 物体节点、声音组件\物理组件\UI组件、脚本组件 暴露变量到面板 4.节点的查找 基本查找 this.node&#xff1a;挂载当前脚本的节点A&#xff1b; this.nod…

一、精准化测试介绍

精准化测试介绍 一、精准化测试是什么&#xff1f;二、什么是代码插桩&#xff1f;三、两种插桩方式Offine模式&#xff1a;On-the-fly插桩: 四、jacoco覆盖率报告展示五、增量代码覆盖率监控原理六、精准测试系统架构图七、全量与增量覆盖率报告包维度对比八、全量与增量覆盖率…

牛客NC343 和大于等于K的最短子数组【困难 前缀和 Java/Go】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/3e1fd3d19fb0479d94652d49c7e1ead1 思路 本答案利用前缀和解答&#xff0c;Java&#xff0c;Go答案通过&#xff0c;但是同样的代码用PHP的话有一个测试用例超时 应该还有更优秀的答案&#xff0c;后面找到更优…

2022——蓝桥杯十三届2022国赛大学B组真题

问题分析 看到这个问题的同学很容易想到用十层循环暴力计算&#xff0c;反正是道填空题&#xff0c;一直算总能算得出来的&#xff0c;还有些同学可能觉得十层循环太恐怖了&#xff0c;写成回溯更简洁一点。像下面这样 #include <bits/stdc.h> using namespace std; in…

apk反编译修改教程系列-----反编译apk 去除软件强制更新的八种方式步骤解析【十七】

安卓有的apk 软件会不断更新。但有些用户需要旧版的有些功能或者新版功能增减原因等等。需要不更新继续使用。这类问题有的可以简单修改版本号来跳过更新。或者有的软件可以忽略。但对于某些无法跳过更新界面等等的apk。就需要深度反编译来去除软件的强制更新。 通过课程可以了…