XSSLab学习笔记-第1到5关

2023-10-27

写在最前面:

仅供学习使用。

前端三件套自学的不是很好,所以很多地方可能有点不清楚、有疑惑,请大佬带带。

第一关

这关考察的是反射型xss,在这关学到的是在<h1></h1>等文本类标签里插入<script>alert(xss)</script>可以执行,只要没有额外条件过滤。

观察网页和url可以看到name是个变量。于是在变量上输入JS进行测试成功。

网页源码差不多就变成了这个样子

第二关

因为是xss,所以打开网页源码发现test这个是input的value的值,value会将JS当做值来处理,尝试简单JS弹窗。

失败了好呀,发现没有过滤JS关键字,那么就对语句进行构造,闭合input,让JS不再作为值,而是一段JS代码,测试成功。

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

第三关

.htmlspecialchars()这个php函数让 < 和 > 不会被浏览器用作HTML标签运行,即不当做字符,当做HTML实体。

输入第二关的语句进行测试,发现input被闭合了,但是却没有反应,于是猜测有 .htmlspecialchars() 函数。源码里确实是这个。第八关就是从这个函数方面入手。

构造不会被转换的语句,这时我想到的是HTML事件 ' οnclick='alert(1),因为单引号不会被转义,所以这时使用单引号就可以将value闭合,进而闭合input。使用 ' οnclick=alert(1)// 也行,//注释了后面的所有语句,一样可以执行。

第四关

照例使用弹窗看看有无过滤,发现 < > 被过滤了,即不能使用标签了。

尝试点击弹窗,发现没有过滤单引号,同时value后面不是单引号,那八成是双引号,打开源代码一看果然是,那就直接把单引号改成双引号,果然可以。

第五关

照例使用弹窗看看有无过滤,发现script被重组了,但是标签可以用。html事件型的onclick也被重组了。那么试试javascript:alert(1)

javascript:alert(1)没有问题,那么试试构造标签。

这里构造超链接。

"><a href="javascript:alert(1)">link</a>

果然可以

但是之前尝试不闭合,发现下面的图片和字段都变得可以点击了,不知道为什么标签自动补齐了?

点击也可以过关。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XSSLab学习笔记-第1到5关 的相关文章

  • 使用Electron开发过程中不能使用remote模块解决

    在 electron 渲染进程中引入BrowserWindow报错 const BrowserWindow require electron remote BrowserWindow 报错 Cannot read properties of
  • c++ADO编程-connection对象

    Connection对象的属性有如下几个 1 ConnectionString属性 是连接字符串 通过传递包含一系列由分号分隔的 argument value 语句的详细连接字符串 可指定用于建立连接数据源的信息 连接串格式根据数据源的不同
  • 3.2面向对象

    面向对象与面向过程的区别 面向过程指的是工作过程如何执行 而面向对象指的是工作该让谁来完成 面向对象三大思想 OOA 面向对象分析 Object Oriented Analysis OOD 面向对象设计 Object Oriented De
  • 剑指 Offer 15. 二进制中1的个数(java+python)

    编写一个函数 输入是一个无符号整数 以二进制串的形式 返回其二进制表达式中数字位数为 1 的个数 也被称为 汉明重量 提示 请注意 在某些语言 如 Java 中 没有无符号整数类型 在这种情况下 输入和输出都将被指定为有符号整数类型 并且不
  • 一万字关于java数据结构堆的讲解,让你从入门到精通

    目录 java类和接口总览 队列 Queue 1 概念 2 队列的使用 以下是一些常用的队列操作 1 入队操作 2 出队操作 3 判断队列是否为空 4 获取队列大小 5 其它 优先级队列 堆 1 优先级队列概念 Java中的Priority

随机推荐

  • uvicorn启动fastapi项目实现热部署

    一 创建在不同的文件中 通过import引入 将app对象定义在一个模块中 如app py 在主模块 如main py 中导入app并运行 app py from fastapi import FastAPI app FastAPI mai
  • 真题详解(关系模型)-软件设计(六十六)

    真题详解 ICMP 软件设计 六十五 https blog csdn net ke1ying article details 130475620 2017年下半年 内存按字节编址 若存储容量为32K 8bit的存储芯片构成地址从A0000H
  • C++基础知识 - 子类的析构函数

    子类的析构函数 注意 为了防止内存泄露 最好是在基类析构函数上添加virtual关键字 使基类析构函数为虚函数 目的在于 当使用delete释放基类指针时 会实现动态的析构 如果基类指针指向的是基类对象 那么只调用基类的析构函数 如果基类指
  • 【DSP】TMS320F28335的ADC模块

    一 功能说明 12位内建采样保持的模数转换器 模拟输入电平 0 3V 16个转换通道 最快转换时钟频率12 5MHz 奈奎斯特定则 25MHz最高能采样12 5MHz的信号 多触发源 软件 ePWM和GPIO 两种采样模式 级联和双通道模式
  • 张大哥笔记-从零开始自己创建一个网站的操作指南

    随着互联网时代的发展 无论是个人还是企业 都想拥有一个自己的网站 通过网站快速展示自己的商品信息 有很多人不了解一个网站是如何形成的 制作一个网站需要多少时间 具体由哪些细节都是全然不知 他们甚至感觉搭建一个网站是一件非常复杂的事情 其实
  • C语言经典100例题(37)--给10个数排序(选择排序和冒泡排序)

    目录 题目 问题分析 选择排序法 冒泡排序法 代码 选择排序法 冒泡排序法 运行结果 题目 给10个数排序 问题分析 选择排序法 从后9个比较过程中 选择一个最小的与第一个元素交换 下次类推 即用第二个元素与后8个进行比较 并进行交换 每一
  • Appium + IOS 自动化环境搭建教程(实践+总结+踩坑)

    文章目录 前言 IOS 自动化相关框架介绍 自动化测试类工具 内测发布工具 Appium驱动IOS测试原理 关于 WebDriverAgent 基础环境搭建 基础环境 安装内容 前提环境 通用环境 iOS 环境 iOS 真机调试环境配置 I
  • Pandas学习之to_csv()

    用法 df to csv 输出路径 参数1 参数2 参数3 sep 以逗号 作为数据的分隔符 如果分隔符不为逗号 则包含符双引号 就会消失 分隔符为Tab时 写法如下 df to csv new csv sep t na rep NA 确实
  • if-else常见的优化方案

    前言 代码中如果if else比较多 阅读起来比较困难 维护起来也比较困难 很容易出bug 接下来 本文将介绍优化if else代码的八种方案 优化方案一 提前return 去除不必要的else 如果if else代码块包含return语句
  • HBase 比较过滤器

    一 行过滤器 RowFilter 测试RowFilter过滤器 Test public void testRowFilter throws IOException Configuration conf HBaseConfiguration
  • echars-all.js 2.2.7组织结构图及自定义右键菜单的实现思路及源码

    组织结构图一般是树图结构 echars是一个很好的开源数据工具 2 x版本也有对树图的定义 要做组织结构图的需求拿到手里后 在网上也翻阅了很多echarts的官网资料及网友的实现思路 最终在网友及自身的努力下完成了这项任务 以上 先上最终结
  • Linux下gdb attach的使用(调试已在运行的进程)

    在Linux上 执行有多线程的程序时 当程序执行退出操作时有时会遇到卡死现象 如果程序模块多 代码量大 很难快速定位 此时可试试gdb attach方法 测试代码main cpp如下 这里为了使程序退出时产生卡死现象 在第51行时push线
  • 服务器连接超时是怎么回事呢?

    服务器连接超时就是在程序默认的等待时间内没有得到服务器的响应 网络连接超时可能的原因有那些呢 1 网络断开 不过经常显示无法连接 网络阻塞 导致你不能在程序默认等待时间内得到回复数据包 2 网络不稳定 网络无法完整传送服务器信息 系统问题
  • MySQL服务状态查看和监控方式

    运行中的MySQL状态查看可以通过以下方式进行监控和衡量不同指标 show global status like Uptime 服务器已运行的秒数 重启服务器后会置零 以下内容使用的Uptime均为此字段 1 QPS 每秒查询量 查询命令
  • WEB工程师和设计师必学的10个IOS 8新鲜改变

    概述 简介 iOS 8 上的 Safari 的更新 iPhone 6 和 iPhone 6 Plus 新 Api 支持 Safari 新功能和支持 iOS 8 原生优化 Safari 插件 新的设计 视频增强 iOS 8上的JS Bug 和
  • 【数学模型】基于Matlab模拟超市排队系统

    1 内容介绍 日常生活的超市购物中往往在收银台处排队等待 收银台过少 则会造成排队过长 收银台过多 又占用过多超市空间资源和人力资源 将整个超市购物过程所耗费的时间可抽象为若干个随机过程和排队系统 其中 消费者到达超市的时间是随机的 消费者
  • 学习Segformer语义分割模型并训练测试cityscapes数据集

    官方的segformer源码是基于MMCV框架 整体包装较多 自己不便于阅读和学习 我这里使用的是Bubbliiiing大佬github复现的segformer版本 Bubbliiiing大佬代码下载链接 https github com
  • QT 创建主窗口 MainWindow 实例

    1 2 mainwindow h ifndef MAINWINDOW H define MAINWINDOW H include
  • GMII,RGMII,SGMII,TBI,RTBI接口信号及时序介绍

    GMII RGMII SGMII TBI RTBI接口信号及时序介绍 千兆以太网MII接口类型主要有GMII RGMII SGMII TBI和RTBI 五种 GMII接 如下图 与MII接口相比 GMII的TX RX数据宽度由4位变为8位
  • XSSLab学习笔记-第1到5关

    写在最前面 仅供学习使用 前端三件套自学的不是很好 所以很多地方可能有点不清楚 有疑惑 请大佬带带 第一关 这关考察的是反射型xss 在这关学到的是在 h1 h1 等文本类标签里插入可以执行 只要没有额外条件过滤 观察网页和url可以看到n