首页 > 其他分享 >文本标记问题

文本标记问题

时间:2023-05-15 12:35:27浏览次数:31  
标签:字符 标记 样本 问题 索引 参数 文本

1、介绍

文本标记是一个常见的业务场景,比如爆破标记参数、xss标记参数、验证码标记,等等。

2、实现标记的几种思路

2.1 纯标记字符

措施是在样本文本中,使用标记字符进行插入标记。

(1)单标记还是双标记

所谓单标记,即一个参数点对应一个标记字符,一般在原参数点的文本之后。而双标记,是一个参数点对应两个标记字符,其将原参数点的文本包围起来。

单标记的特点是简单、方便,其设置payload,相当与将原参数值作为前缀。而双标记更灵活,可以是将原参数值作为前缀,也可以实现直接替换。

对xss和sql注入来说,两者区别不大,但是一般考虑使用双标记,且是直接替换的操作。因为双标记还能够应用在重定向漏洞等场景,而如果想实现将原参数值作为前缀,可以直接对payload进行文本处理。

(2)标记字符

标记字符需要与样本中固有的字符区分,有几个思路:

  • 动态设置标记字符,即根据样本情况,选择一个未使用的字符作为标记字符。解析参数点时,需要将动态设置的标记字符传递
  • 多字符长度,如果想使用固定的某字符作为标记字符,但是样本中又本身存在,则可以考虑使用多个该字符作为一组标记字符,比如$$$
  • 使用固定标记字符,将样本中的该字符进行编码或转义,解析时先根据标记字符解析参数,然后解码或反转义获取样本
    • 如果使用$作为标记字符,而样本中$转义为\$,\转义为\\,这样可以解析,但是相对麻烦,需要分析$前的多个字符以判断该字符是否是被转义
    • 解决思路一是,不转义而是编码,将样本中的$转为\uxxxx
    • 解决思路而是,使用双字符标记,比如$$,而样本中的$转义为\$,\转义为\\,最多出现\$\$,这样彼此不交叉干扰

2.2 标记字符+索引记录

措施是使用固定的标记字符进行标记,会记录、分析对样本的操作,获取标记字符在样本中的索引。两种实现思路:

(1)直接编辑

  • 首先需要确定样本,比如通过按钮事件来确定
  • 在样本基础上进行输入、删除、粘贴、剪切等操作,会比较操作前后字符串变化和光标所在位置,进而推断增加或删除部分,动态的改变标记的索引列表

(2)事件编辑

  • 插入标记、删除标记,都只能通过按钮或右键菜单事件来完成,且同时进行标记添加和索引记录
  • 可以直接在样本中编辑,但是只能改变现有标记索引的位置,而不能进行标记的添加

实际上,两种思路结合更加实用。burp就是标记字符+索引记录进行文本标记的

2.3 直接记录

措施是鼠标选择待标记字符,然后触发按钮事件或右键菜单事件,进行字体颜色标记和索引记录,但是不增删字符。

  • 会检查索引记录,如果出现交叉,会进行合并
  • 直接编辑,会清除所有的标记,需要再选择

2.4 综合分析

直接记录是最适用的:

  • 直接记录参数索引,不需要再根据标记字符解析
  • 选择文本,然后记录选择,ui和业务代码都简单易做
  • 基于字体或背景色渲染,有比较明显的交互效果
  • 除了GUI交互场景,在命令行模式下也有很好的表现
  • 可以不影响样本,这样可以在上下文中,比较方便的查找是否已经测试该请求,以及比较已测的参数

3、自动标记

3.1 完全的自动标记

对url进行完全的自动标记:

  • 如果存在直接参数,则对直接参数的值进行标记
  • 如果不存在直接参数,但是存在路径参数,则对各级路径进行标记

对请求报文进行完全的自动标记:

  • 对请求行的路径和参数进行标记
  • 如果存在直接参数,则对直接参数的值进行标记
  • 如果不存在直接参数,但是存在路径参数,则对各级路径进行标记

3.2 选择标记

选择部分文本,对其进行直接标记

3.3 基于参数名或其它

通过url中的参数名,或者其它形式对url、请求头部、请求体部进行标记

4、自动清除

分为两种情况:

无选择,则对整体进行标记清除

有选择,则只对选中区域进行标记清除

 

标签:字符,标记,样本,问题,索引,参数,文本
From: https://www.cnblogs.com/wd404/p/17401472.html

相关文章

  • 能粘贴Word 内容(含公式)的文本编辑器
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能够接......
  • 批处理处理金额小数点问题
    NumberAdapter自定义转换器/***用来处理小数点问题*/publicclassNumberAdapterextendsTypeAdapter<String>{@Overridepublicvoidwrite(JsonWriterout,Stringvalue)throwsIOException{if(value==null){out.nullValue();......
  • nvm-windows 安装遇到的问题 node目录卸载后(有残留)记得改名
    需求网上好多新项目都需要最新版的node,所有需要切换node版本nvm-windowshttps://github.com/coreybutler/nvm-windows安装步骤-问题删除当前node(当时没删干净)安装nvm-windowsnvminstall16.18.0nvmuse16nvmcurrent(发现没有切换成功)解决问题删除node的时候,目录......
  • uni-app: 从运行原理上面解决性能优化问题
    前言Uni-App,从了解到开发,相信大家都会觉得Uni-App性能不好,其实也这是非原生的弊病。ReactNative、Flutter等,非原生框架,性能上都会或多或少的折损。但各个框架,都会做出性能提升建议,所以开发者在开发前,多了解一下,后面维护升级等就会更方便一点,否则项目越来越大,后续开发就会越来越......
  • VC Spyglass 的RDC问题分析
    1.RDC解释当前复杂设计除了包含多个时钟域外还包含了多个异步复位域。实际上,如果设计种存在跨异步复位域时同样会经常会遇到亚稳态的问题。具体而言,对于有多个异步复位域的设计,如果某个异步复位在复位时,其复位的信号可能正好落在接受域时钟的建立和保持时间窗口内,这会造成接受......
  • Exadata X4-2 刷机至18.1.34版本遇到的问题
    客户有一套ExadataX4-2,计划从目前的11.2.3.3.1版本升级至18.1.34版本,但其中的一台计算节点在升级过程中遇到很多的故障,最终决定将这个已经升级失败的计算节点刷机至18.1.34版本。 本文主要记录将ExadataX4-2刷机至18.1.34版本时,遇到的一些异常情况。在刷机刚开始不久,会进入......
  • 学生成绩问题。
    一、问题描述。 有5个学生,每个学生的数据包括学号、姓名、三门课成绩,从键盘输入5个学生的数据,要求计算并输出。1)  每个学生三门课的总成绩2)  三门课每门课程的平均成绩 代码实现。#include<string>  #include<iostream>  using namespace std;    #define N ......
  • qt5.14.modbus rtu源码,运行无问题! ---Modbus具有两种串行
    qt5.14.modbusrtu源码,运行无问题!---Modbus具有两种串行传输模式:分别为ASCII和RTU。此源代码是RTU。Modbus是一种单主站的主从通信模式,Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,每个从站必须有唯一的地址,从站的地址范围为0-247,其中0为广播地址,从站的实际地址范......
  • 打卡5.8——委派认为问题
    1.问题描述某项任务需要在A、B、C、D、E、F这6个人中挑选人来完成,但挑选人受限于以下的条件:(1)A和B两个人至少去一人;(2)A和D不能同时去;(3)A、E和F三人中要挑选两个人去;(4)B和C同时去或者都不去;(5)C和D两人中只能去一个;(6)如果D不去,那么E也不去。试编程求出应该让哪几个人......
  • 打卡5.7——三色球问题
    1.问题描述一个口袋中放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现从中任取8个,问共有多少种可能的颜色搭配?2.问题分析假设八个球,红球a个,白球b个,黑球c个,那么c=8-a-b个。而且a<=3,b<=3,也就是说8-a-b<=63.算法设计穷举法用两个for循环,第一个for控制红球的数量,第二个控制白......