python进程:threading库
Event类简述 简单概述:实例化的Event类本质上就是一个布尔值,但是,这个布尔值自带很多方法,可以灵活地改变自身的bool值,通过自生布尔值的改变,来控制一些如循环这样的进程的运行情况。 它可以作为全局变量,用于对多个线程进行协调 我们常常将其与threading.Threading(target=function)进行结合,它的值可以在function中进行变换控制function的运行情况,同时就控制了线程的运行情况。 常用类方法介绍 其常用方法的基本介绍:threading.Event 对象内部维护了一个布尔标志,初始值为 False。线程可以通过调用 set() 方法将标志设置为 True,通过 clear() 方法将标志重置为 False,使用 is_set() 方法检查标志的当前状态,以及使用 wait() 方法让线程阻塞,直到标志变为 True。 set()将 Event 对象内部的标志设置为 True。所有正在等待这个事件的线程将被唤醒。 123456789101112131415import threadingevent =...
文件上传:配置文件绕过
基本概念.htaccess和.user.ini文件 两者均为服务区器配置文件。 可以利用.user.ini文件中的auto_prepend_file来指定以php方式解析的文件。 例题 以ctfshow154为例 该题首先使用之前的绕过方式,前端后端绕过都无法顺利将木马文件上传。
联合注入
基本概念关于查询的基本概念SELECT 后面是字段 在 SQL 中,SELECT 语句后面跟的是字段(列名)。SELECT 语句的作用是从表中选取指定的列的数据。例如: 1SELECT column1, column2 FROM table_name; 这里 column1 和 column2 就是表 table_name 中的字段,该语句会从 table_name 表中选取 column1 和 column2 这两列的数 据。最终呈现的结果是一个二维数据集,每一行代表一条记录,每一列对应一个字段。 GROUP_CONCAT() 里主要是字段,但也可以是表达式 GROUP_CONCAT() 函数通常用于将分组后的某列的多个值连接成一个字符串。它里面一般写的是字段名,不过也可以是一个合法的 SQL 表达式。 1SELECT GROUP_CONCAT(column_name) FROM table_name; 这里 column_name 是表中的一个字段,GROUP_CONCAT() 会把 column_name...
技术路径a开发指南
各阶段数据库构建 如图所示,对于一条原文本,通过关键词筛选系统的处理,我们可以得到如下格式的json文件 123456 { "准备阶段": ["公司以诈骗为目的,冒充正规机构"], "事前阶段": ["通过虚假宣传吸引客户"], "实施阶段": ["使用欺骗手段与客户沟通", "伪造身份信息", "诱导客户购买服务或产品"], "事后阶段": []} 这部分开发人员的工作很简单: 为了方便对接主程序,开发人员采用只有10条(即10个案子)如上json格式数据的一个记录各阶段关键词的json文件。比如这样的文件: 123456789101112131415161718192021[{ "准备阶段": ["公司以诈骗为目的,冒充正规机构"], "事前阶段":...
base64以及十六进制加密绕过
以web102为例,代码如下: 123456789101112131415161718<?php highlight_file(__FILE__);$v1 = $_POST['v1'];$v2 = $_GET['v2'];$v3 = $_GET['v3'];$v4 = is_numeric($v2) and is_numeric($v3);if($v4){ $s = substr($v2,2); $str = call_user_func($v1,$s); echo $str; file_put_contents($v3,$str);}else{ die('hacker');}...
多函数命令执行绕过
详细文本可看:@Traveler2000的博客:多层函数绕过过滤 对于get_defined_vars函数注解 我们的payloads如下,对于此题: 1234567891011<?php if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/[0-9]|\~|\`|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\-|\=|\+|\{|\[|\]|\}|\:|\'|\"|\,|\<|\.|\>|\/|\?|\\\\/i", $c)){ eval($c); } }else{ ...
超全局变量自动传参
自动创建$_GET参数 $_GET 数组自动填充:只要 URL 里有参数,比如我传入的payload:/?c=include$_GET[1]&1=php://......,此时$_GET 数组就会自动生成对应元素。比如这里 &1=php://...... ,1 是参数名,php://...... 是参数值 ,$_GET[1] 就会被自动定义为 php://...... 。这就像给 PHP 一个信号,让它把 URL 里的参数存到 $_GET 这个 “小仓库” 里,方便后续代码取用 。
文件上传:前端验证不可靠
前端验证指:javascript源码 如ctfshow例题web151: .hqdyrqiuoflc{zoom: 50%;} 这里可以使用F12打开源码界面,发现如下代码: 12<button type="button" class="layui-btn" id="upload" lay-data="[url: 'upload.php', event: 'images', exts:'png']"> 这是一个经典的layui代码:语法以及特点如下: 1.基础结构: <button> 标签被 Layui 渲染为一个上传按钮。 class="layui-btn":Layui 的按钮样式。 id="upload":按钮的唯一标识符(可用于 JavaScript 操作)。 2.有关lay-data: 这是 Layui 上传组件的核心配置参数,格式为简化的...
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) 功能:在固定延迟基础上增加随机波动(例如:固定...
文件上传疑点解析
...