bp资源池
Resource Pool 参数详解及其在条件竞争漏洞中的作用1. Resource Pool 的核心参数Resource Pool 用于控制攻击时的资源分配和请求节奏,以下是关键参数及其作用: a. 最大并发请求数(Maximum concurrent requests) 功能:控制同时发送的请求数量。 条件竞争中的作用: 高并发:设置较高的并发数(如 50~100),可同时触发大量请求,增加竞争条件的触发概率(例如:同时修改同一账户余额)。 默认值问题:默认的 10 并发可能不足以触发某些敏感竞争漏洞,需根据目标系统承载能力调整。 b. 请求延迟(Delay between requests) 功能:定义每次请求之间的间隔时间(单位:毫秒)。 条件竞争中的作用: 零延迟(0ms):禁用延迟,请求连续发送,最大化并发压力,适合测试服务器在高并发下的异常行为。 固定延迟(Fixed):若必须设置延迟,应尽可能小(如 10ms),避免因间隔过长导致竞争窗口关闭。 c. 随机延迟(Random variations) 功能:在固定延迟基础上增加随机波动(例如:固定...
文件上传疑点解析
...
条件竞争漏洞
条件竞争漏洞概述条件竞争原理 生活类比理解:想象去银行取钱,银行柜台只有一个窗口办理取款业务,有很多人排队取钱。正常情况下,工作人员会按顺序办理业务。但如果没有维持好秩序,有几个人同时挤到窗口前,都递上银行卡说要取钱,这时候就可能乱套了。在计算机程序里,也有类似情况。程序就像银行的业务处理系统,不同的操作请求就像排队取钱的人,当多个操作请求(线程)同时去访问和修改同一个资源(比如共享变量、文件、数据库记录 ),而且没有合理的控制顺序和保护机制时,就会出现条件竞争。 技术原理:在程序运行中,开发者一般希望代码按顺序一条一条执行。但在多线程或多进程的环境下,服务器会并发处理多个请求。如果没有使用合适的同步机制(像锁,它能保证同一时间只有一个线程能访问某个资源 ),这些并发的线程就可能同时操作共享资源,导致结果不可预测。比如两个线程同时读取一个变量的值,然后都对这个值进行修改再写回去,最后保存的值可能不是预期的,因为它们互相干扰了。 条件竞争漏洞的利用 以文件上传为例: 有些网站允许用户上传文件,服务器会先检查文件是否符合要求(比如只允许上传图片格式文件...
php文件上传
文件上传相关函数知识笔记 fputs() 如下代码: <?php $file = fopen("test.txt","w"); echo fputs($file,"Hello World. Testing!"); fclose($file); ?> 输出21,即这个字符串包含的字符数(包括空格和标点符号)为 21 ,fputs() 函数执行后返回 21 ,echo 语句将这个返回值输出。
php特性入门(持续更新)
持续更新php特性知识in_array函数漏洞 如题:(ctfshow web99) .azwavousnxak{zoom: 50%;} 这里rand(1,$i)是在从1到$i之间随机选择一个数输出。 关于in_array函数的机制: 格式:bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ),即首位参数为需查询的数值,第二个参数为目标数组,最后一个参数为是否为严格比较。 这里没有设置$strict即是否为严格比较的值,默认为FALSE,即非严格比较。如输入2.php,根据 PHP 类型转换规则 ,从字符串转换为数值时,'2.php' 会被转换为...
关于文件包含的一些问题辨析
有关文件包含的一些问题辨析 $file这个变量到底被赋予了什么值 这是一道例题,首先我们知道文件包含的解题中,一些协议至关重要 由超全局变量$_GET或者$_POST得到的值,一般会赋予给一个变量,而这个变量的具体值,取决于这个协议的内容: file://协议 这个协议一般指定文件路径直接打开文件,比如?file=file:///etc/passwd,或者?file=file:///var/www/html/index.php,此时后者就会把index.php文件的值直接赋予给$file变量, php://协议 但是如果我输入的是?file=php://input,那么$php这个变量的值就是php://input。 include函数的辨析 其他几个也是一样的。 include函数会根据$file的值来处理内容。如果$file是普通文件路径,它会包含文件内容;如果$file是 PHP 流包装器,它会处理流中的内容。在 CTF 题目中,通过巧妙利用php://协议等流包装器,可以绕过一些限制来获取目标文件(如flag.php)的内容。 关于文件内容的包含:在...
langchain的runnables相关学习
处理链(Pipeline)详细解释 它就是一个工具,用于把组件按顺序连接起来,让数据依次通过这些组件的处理,使用管道符|来连接各个部件。 RunnablePassthrough基本介绍 RunnablePassthrough 是 LangChain 里的一个基础组件,它的主要作用是在处理链中传递数据,并且可以给数据添加额外的信息。简单来说,它能让数据原封不动地通过,同时可以在这个过程中对数据进行一些修改或者补充。 RunnablePassthrough.assign 详细解释 功能: RunnablePassthrough.assign 方法的作用是给输入的数据添加新的键值对。在处理链里,它可以用来为后续的组件提供必要的参数。 比如: from langchain_core.runnables import RunnablePassthrough # 创建一个简单的字典作为输入数据 input_data = {"name": "Alice"} # 使用 RunnablePassthrough.assign...
pydantic库学习
字段(Field) 基本定义: 在 pydantic 模型里,字段指的是类中定义的属性,它们代表了数据模型的各个组成部分。每个字段都有特定的数据类型和可能的验证规则。在 CaseStage 类中,以下这些就是定义的字段: 1234preparation_stage : List[str]#preparation就是字段setup_stage : List[str]execution_stage : List[str]post_stage : List[str] 这些字段规定了 CaseStage 实例所应包含的数据结构。例如,preparation_stage 字段要求其值是一个字符串列表,用来存储刷单准备阶段的行为。 原始名称(Original Name) 基本定义: 原始名称即字段在类定义中所使用的名称。在 CaseStage 类里,preparation_stage、setup_stage、execution_stage 和 post_stage...
个人学习感悟
关于python库的学习 在学习的时候是缺什么学什么,不是一口气把库里面的东西走完,包括re这种自带的小库
3.30有关川大ctf交流
基本培养路线介绍 Web方向研究 深度实战研究,并非科研研究。 Web入门 buuctf直接针对wp进行解决 照着题目里面的php问题进行学习 前端语言只用看懂 中期 平时把代码审计作为一个大方向。 入门SRC漏洞,先挖高校漏洞。 有关内网渗透 以上为推荐网站 以及hackthebox 国际赛:ctftime根据权重选择难度。 后期 主要是个人研究工具 WP的来源 PWN资源 ctfwiki PWN相关内容 做题: buuctf Linux使用wsl即可 直接看X86汇编语言 打公开赛的赛题,国际赛 师傅的问题 AWD的Web题一定要快速找到后门,不需要很高的web知识,比较好去稳定排名 在赛场上不好一个个处理靶机。 对框架的定位,快速了解系统框架,得知漏洞点。在github的CMS进行研究。 团队: 两个web一个pwn。 其他问题 不要在配置环境花费太多时间 自己开发工具,实用性是不是会更高? 主要工具用于渗透方向。 国安 运气成分比较大 老师理解就是,对专业要求不是很高。 先了解具体时间。 省厅