CTF从入门到提升(三)基于时间的盲注及部分函数

本文介绍了CTF中基于时间的盲注技术,讲解了SLEEP函数及其在延迟查询中的作用。通过举例和操作演示,阐述了如何利用SUBSTRING、COUNT等函数进行单字母判断,并提到了IF、CASE、REGEXP等语法在正则匹配中的应用。此外,还探讨了其他产生延时的函数,如BENCHMARK和GET_LOCK,以及笛卡尔积在某些场景下的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次内容会先介绍一些函数,然后结合一些题目进行讲解。这里的基于时间是指延时。

​​我们对于盲注最早接触的应该就是SLEEP函数, 很多编程语言中都有它。函数的特点就是添加延时功能,我们可以看一下它的一个效果是什么样子的。

(在这里我做一个演示,如果大家想看可以到安全牛课堂的视频里看动手操作 CTF从入门到提升 课时3:1分10秒)
在这里插入图片描述
在这里插入图片描述
举栗子:

在添加了SLEEP函数之后,它的运行结果要是变慢了,而且它的变慢的时间和我们填的设置的时间是接近的,或者说是长于这个时间的。那么就能够验证佐证就是说我们sleep的函数它产生了这个效果:
在这里插入图片描述

刚刚的演示过程,我们输入的代码和正常的访问产生了差异。( 有延时就说明我们的代码生效了,没有延时就说明没有生效。)

在这里插入图片描述
整张表只有四条数据,id=1,基于逻辑上判断来说,2逻辑前面为真。id=1之后,它后面的逻辑就不管会不会运行SLEEP,但是针对表中的234,id≠1的,它就会去判断后面这个逻辑,这个时候它就会都去做一个延时,运行一个SLEEP(3)。
延时数据需要一些配合,当前数据库是sectest,很多时候我们去提供一个约束条件(查询条件)的时候,它如果能查出数据来,其实就是告诉我们表中存在一条

CTF(夺旗赛)中,oldschool(复古风格)挑战通常指的是那些具有经典、传统或怀旧元素的题目类型。这类挑战可能涉及早期的Web漏洞利用方式、基础编程技巧、老式密码学方法或经典的逆向工程思路。以下是一些与CTF中oldschool风格相关的挑战和资源方向: ### 常见Oldschool CTF挑战类型 1. **命令执行与代码入** - 例如通过`eval()`、`system()`等函数执行任意命令。 - 利用PHP中的`scandir()`、`glob()`、`DirectoryIterator`等方式遍历目录以获取敏感信息[^1]。 2. **文件包含与路径穿越** - 使用`include()`、`require()`配合本地或远程文件包含(LFI/RFI)获取配置文件或flag。 - 利用伪协议如`php://filter`读取源码,或者通过日志入写入webshell。 3. **正则表达式绕过** - 在过滤机制较弱的情况下,使用特殊字符组合绕过黑名单限制,实现命令执行或XSS攻击。 4. **PHP原生反序列化** - 构造特定的反序列化字符串触发魔法函数(如`__destruct`、`__wakeup`)进行资源释放或文件操作。 5. **SQL入(Classic SQLi)** - 使用联合查询(UNION)、报错入、布尔等方式提取数据库内容,常见于Web类题目。 6. **XSS与CSRF** - 利用反射型XSS窃取Cookie,或者构造CSRF请求完成账户劫持等行为。 ### 推荐的CTF Oldschool资源 - **CTFtime平台** - 提供历年CTF赛事回顾与题解链接,可查找带有“Web 100”、“Pwn 100”等标签的经典题目。 - **Hack The Box(HTB)** - 部分机器设计灵感来源于早期渗透测试场景,适合练习传统的提权、服务探测等技能。 - **VulnHub靶场** - 包含大量基于虚拟机的渗透测试环境,许多镜像模拟了老旧CMS系统或配置错误的服务。 - **OverTheWire Wargames** - 如Bandit、Natas等系列,专于基础命令行操作与Web安全知识,非常适合入门与巩固oldschool技巧。 - **PicoCTF** - 面向初学者的CTF训练平台,部分题目保留了经典的逆向、密码学与Web入手法。 - **GitHub开源项目** - 搜索关键词如`CTF oldschool challenges`、`classic web ctf writeups`,可找到大量由社区维护的复现环境与解题脚本。 ### 示例:简单的命令执行绕过正则表达式 ```php // 假设服务器端存在如下过滤逻辑 $s = preg_replace("/[0-9]|[a-z]/i","?", $s); // 可尝试使用大写字母+数字混合的方式绕过替换规则 $c = "system('cat /fla'.'g.txt');"; eval($c); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值