xss相关知识点与绕过思路总结
前言
对xss的绕过进行了系统的学习与实践后,重新审视一下xss,对他的绕过进行一个总结。
(当然我也是个小白,这些也是我当时瞎鸡儿乱搞绕过了几个xss自己做的小总结)
可能有点丑陋,献丑了。
好博客推荐
这段时间的实践中,我看了这篇博客,里面内容十分详细,我这里推荐一下,也以便以后好寻找使用:
XSS总结 - 先知社区
没错就是他,特别赞。
基本的绕过标签等都在这个博客中,我就省略了,感觉我再怎么整理也比不上他。
我这里整理一下我遇到的实战中的一些特定条件下的xss绕过思路。
前置测试阶段
1.随便输入看源码
我喜欢先找几个有回显的地方看他的源码,了解一下他的闭合情况。
2.输入所有用到的特殊符号,观察他的转义或者是过滤情况
< > ' " & # /
长度限制突破
很多时候我们会遇到一些输入框,看起来可能能绕过,但是它限制了长度,导致很难办。
1.前端校验
这个没什么好说的,看标签里的max属性直接删除就行。
2.选择性编码
有时候我们是需要编码绕过的,但是我们直接全部编码就会很长,对于那些检测关键字的,我们可以选择性的在关键字中只编码某一个字符,尽最大程度减少长度。
关键词检测突破
很多时候,尤其是网站安装了waf之后,基本上都会检测我们的关键词。这时候就需要对关键词进行一下修饰。
1.最简单的替换
替换标签,替换属性,替换为他不检测的标签或者属性。
2.html编码(不过滤编码字符)
但是这种编码有个前提,我们他不会过滤我们的编码字符;&#
3.html编码(仅过滤;)
这个是我实战中遇到的一个,他会过滤alert和;。我们可以把这个检测字符末尾的t给编码,同时去掉;,这样配合()就能完成一个绕过。
遇到这种检测关键词,并且过滤;的情况,可以尝试编码关键词的最后一个词配合空格或者其他的词来进行绕过尝试
4.eval绕过
这种通常是针对过滤我们执行的代码的检测,我们获取cookie等操作被检测的话,如果他没有过滤eval,就可以用很多种编码类型去进行绕过。
过滤删除类型绕过
这类检测的形式是强行把我们的关键词或者字符给删除。针对他删除的特性可以(尝试)一下几种方法。
1.嵌套绕过
比如他过滤on(一种很通杀的过滤,直接干掉大部分的自动触发属性),我们可以使用oonn来尝试过滤,因为他可能会过滤一次,如果他没有循环检测过滤的话,我们就可以利用这种方法绕过。
2.大小写绕过
有可能他没有写转化为小写的代码,导致被绕过。
3.编码绕过
这个前提还是别把我们的符号给过滤掉
4.eval绕过
添加类型过滤绕过
有时候他会强行给我们关键字添加-导致我们无法组成关键字。
这种就是不能嵌套过滤,只能大小写配合编码绕过,或者直接 换!
隐藏标签绕过
有些标签是用来接收信息的,但是他设置了type=hidden,导致我们看不到,我们只需要再加一个type在他前面就可以绕过
数据包中构造xss
有些xss是出现在数据包中的,比如他可能会检测我们的浏览器类型,或者是referer等,这种我们可以通过在数据包中构造xss语句进行一个测试xss。
相关文章:
xss相关知识点与绕过思路总结
前言 对xss的绕过进行了系统的学习与实践后,重新审视一下xss,对他的绕过进行一个总结。 (当然我也是个小白,这些也是我当时瞎鸡儿乱搞绕过了几个xss自己做的小总结) 可能有点丑陋,献丑了。 好博客推荐 …...
深入解析语言模型:原理、实战与评估
引言 随着人工智能的飞速发展,语言模型作为自然语言处理(NLP)的核心技术之一,日益受到业界的广泛关注。本文旨在深入探讨语言模型的原理、实战应用以及评估方法,帮助读者更好地理解和应用这一技术。 一、语言模型原理…...
Elasticsearch 的索引优化常规项
优化常规项 https://blog.csdn.net/bairo007/article/details/132019575 1、按实际情况适当调整主分片的数量 如果主分片数量太少,会导致每个分片中的数据量过大,而且无法利用集群中所有节点的计算资源。如果主分片数量太多,会导致索引过度…...
【JavaParser笔记01】JavaParser解析Java源代码中的类信息(javadoc注释、类名称)
这篇文章,主要介绍如何使用JavaParser解析Java源代码中的类信息(javadoc注释、类名称)。 目录 一、JavaParser依赖库 1.1、引入依赖 1.2、获取类注释信息...
Stable Diffusion扩散模型【详解】小白也能看懂!!
文章目录 1、Diffusion的整体过程2、加噪过程2.1 加噪的具体细节2.2 加噪过程的公式推导 3、去噪过程3.1 图像概率分布 4、损失函数5、 伪代码过程 此文涉及公式推导,需要参考这篇文章: Stable Diffusion扩散模型推导公式的基础知识 1、Diffusion的整体…...
关于rabbitmq的prefetch机制
消息预取机制(Prefetch Mechanism)是RabbitMQ中用于控制消息传递给消费者的一种机制。它定义了在一个信道上,消费者允许的最大未确认的消息数量。一旦未确认的消息数量达到了设置的预取值,RabbitMQ就会停止向该消费者发送更多消息…...
机器学习介绍
机器学习是人工智能(AI)的一个分支,它使计算机系统能够从数据中学习并改进它们的性能。机器学习的核心在于开发算法,这些算法可以从大量数据中识别模式和特征,并用这些信息来做出预测或决策,而无需进行明确…...
OpenCV4.9开发之Window开发环境搭建
1.打开OpenCV所在github地址 2.点击opencv仓库,进入仓库详情,点击右下方的OpenCV 4.9.0进入下载页面 3.点击opencv-4.9.0-windows.exe下载 开始下载中... 下载完成 下载完成后,双击运行解压,默认解压路径,修改为c:/...
DDD 中的实体和值对象有什么区别?
在DDD中,实体 Entity 和值对象 Value Object 是两个基本的概念,它们之间有一些重要的区别。 唯一性:实体是唯一的,每个实体都有一个唯一的标识符,即使它的属性在一段时间内发生了变化,它仍然是这个实体。与…...
算法-最值问题
#include<iostream> using namespace std; int main() {int a[7];//上午上课时间int b[7];//下午上课时间int c[7];//一天总上课时间for (int i 0; i < 7; i) {cin >> a[i] >> b[i];c[i] a[i] b[i];}int max c[0];//max记录最长时间int index -1;//索…...
Go 性能压测工具之wrk介绍与使用
在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug;压力测试(压测)是确保系统在高负载情况下仍能稳定运行的重要步骤。通过模拟高并发场景,可以评估系统的性能瓶颈、可靠…...
数学思想论(有目录)
数学思想是数学发展过程中的重要指导原则,它涉及对数学概念、方法和理论的理解和认识,以及如何利用这些工具来解决实际问题。数学思想的形成和演进是随着数学的发展而逐渐深化的,它体现了人类对数学本质和应用的不断探索和思考。 一些主要的数学思想包括: 函数与方程思想…...
C++的并发世界(五)——线程状态切换
0.线程状态 初始化:该线程正在被创建; 就绪:该线程在列表中就绪,等待CPU调度; 运行:该线程正在运行; 阻塞:该线程被阻塞挂机,Blocked状态包括:pendÿ…...
C语言——指针
地址是由物理的电线上产生的,能够标识唯一一个内存单元。在C语言中,地址也叫做指针。 在32位机器中,有32根地址线。地址是由32个0/1组成的二进制序列,也就是用4个字节来存储地址。 在64位机器中,有64根地址线。地址是…...
手搓二分查找
第一种: 该种方法是若a[mid]目标数,则让r一直等于mid,让l往右移动,一直移动到rl,这时候跳出循环,在循环外判断 但是不能写成让lmid,让r往左移动,比如a[2]key,这时&#x…...
pycharm调试(步过(Step Over)、单步执行(Step Into)、步入(Step Into)、步出(Step Out))
pycharm调试 pycharm调试 pycharm调试为什么要学会调试?1. 步过 (Step Over)2. 单步执行 (Step Into)3. 步入(Step Into)4. 步出(Step Out) 为什么要学会调试? 调试可以帮助初学者更深入地理解编程基础&am…...
Linux是什么,该如何学习
🐇明明跟你说过:个人主页 🏅个人专栏:《Linux :从菜鸟到飞鸟的逆袭》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、Linux的起源与发展 2、Linux在现代计算机领域…...
C++ | Leetcode C++题解之第7题整数反转
题目: 题解: class Solution { public:int reverse(int x) {int rev 0;while (x ! 0) {if (rev < INT_MIN / 10 || rev > INT_MAX / 10) {return 0;}int digit x % 10;x / 10;rev rev * 10 digit;}return rev;} };...
Linux------一篇博客了解Linux最常用的指令
🎈个人主页:靓仔很忙i 💻B 站主页:👉B站👈 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:Linux 🤝希望本文对您有所裨益,如有不足之处&#…...
vscode安装通义灵码
作为vscode的插件,直接使用 通义灵码-灵动指间,快码加编,你的智能编码助手 通义灵码,是一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研…...
跨端三维GIS实战:uni-app集成Cesium.js的RenderJS方案解析
1. 为什么需要跨端三维GIS解决方案 最近几年三维GIS应用越来越普及,从传统的Web端到移动端APP,开发者都希望实现"一次开发,多端运行"的目标。uni-app作为跨端开发框架,天然具备这个优势。但当我们想在uni-app中集成Cesi…...
电池创新如何跨越量产鸿沟:从实验室到工厂的工程化实践
1. 从实验室到工厂:电池创新的“量产魔咒”最近几年,电池行业绝对是资本和媒体眼中的“香饽饽”。动辄数十亿、上百亿美元的投资砸向新的生产设施和前沿技术,目标直指电动汽车、智能电网乃至整个智慧城市的能源基石。新闻稿里,我们…...
Google Calendar智能安排深度拆解(Gemini原生集成技术白皮书级解析)
更多请点击: https://intelliparadigm.com 第一章:Gemini Google Calendar智能安排技术全景概览 Gemini 与 Google Calendar 的深度集成标志着日程管理进入语义理解驱动的新阶段。该能力并非简单调用 API,而是依托 Gemini 模型对自然语言指…...
逆向实战:从异或表到明文存储,我是如何让Eternium的游戏数据‘裸奔’的
逆向工程实战:解密游戏数据存储的核心逻辑 在数字娱乐时代,游戏安全机制与逆向分析技术之间的博弈从未停止。对于技术爱好者而言,理解游戏如何保护其核心数据不仅是一次智力挑战,更是深入了解计算机系统底层运作的绝佳机会。本文将…...
Honey Select 2一站式智能优化方案:HS2-HF Patch高效整合200+插件
Honey Select 2一站式智能优化方案:HS2-HF Patch高效整合200插件 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为《Honey Select 2》的翻译不…...
PHP怎么处理Eloquent Attribute Harmonization属性协调_Laravel解决数据冲突【教程】
Eloquent 属性协调失败源于 $casts、访问器、序列化逻辑等机制作用域与执行顺序不一致;应优先用 $casts 处理类型转换,访问器仅用于动态计算,JSON 字段需显式标记 dirty 或拆分为关联模型。PHP 中 Eloquent 的 “Attribute Harmonization” 并…...
AI 绘图新进展:GPTimage2 系列(含 4K 超清版)全量上线及直连 API 体验指南
随着 AIGC(人工智能生成内容)技术的快速迭代,近期备受关注的 GPTimage2 系列模型已全量上线。作为 AI 绘图领域的新晋生力军,GPTimage2 在图像生成质量、细节刻画上展现出了极强的竞争力。特别值得一提的是,本次不仅上…...
告别砖头:GD32 BootLoader设计中的Flash分区与地址规划实战指南(含IAR/Keil工程配置)
GD32 BootLoader架构设计与Flash分区策略实战 1. 理解GD32 Flash存储特性与IAP基础架构 GD32系列MCU的Flash存储结构呈现出典型的非均匀扇区分布特征——前4个扇区为16KB,后续扇区则扩展为64KB。这种物理特性直接影响了BootLoader设计的核心逻辑。不同于传统均匀分…...
2026届学术党必备的降重复率平台横评
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 1. 在学术写作这个特定领域里,合理运用AI工具能切实有效提升文献检索、大纲构建…...
Python 爬虫进阶技巧:内网公开资源合规爬虫采集
前言 在企业园区、高校校园、政务机关、科研机构等封闭网络环境中,普遍存在内网公开资源服务节点,这类资源仅对内网 IP 段开放访问权限,外网无法直接穿透接入,包含公开文档库、共享文件服务器、内部资讯公告、教学资源库、政务公…...
