news 2026/8/15 9:18:25

【HTB-CPTS】第22章 Command Injections(测验部分)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【HTB-CPTS】第22章 Command Injections(测验部分)

文章目录

  • 前言
  • 一、前情回顾
  • 二、注入点寻找
  • 三、黑名单发现
  • 三、构造注入命令
  • 四、复盘
  • 总结

前言

本章节属于Tier 2 学院模块,但本文并没有直接给出答案(只有提示),符合HTB的内容分享及发布指南,如有侵权请联系博主删除。

本文章将记录HTB-CPTS学院路径的第二十二章:Command Injections的最终box的通关过程。


一、前情回顾

请先完成章节知识学习!请先完成章节知识学习!请先完成章节知识学习!

测验关卡最简单的一集!

命令注入其实在大部分场景都很罕见,因为很难存在将用户的直接输入当作命令执行的场合。但是,可以不用、不能不会吧,随便看看抓紧过。

二、注入点寻找

根本找不到注入点啊喂

注入点

寻找的方法就是到处点点、url的参数一个一个试试过去。
注入点位置在“Move”按钮:/index.php?to=&from=51459716.txt&finish=1&move=1

(之后会省略其余参数,只写“to=”之后的payload,并没有在url中删除只是省略!)

点击之后有回显命令,说明url中的“to”和“from”参数可能会直接当作命令行参数执行。

然后,使用/index.php?to=;ls测试,明显回显拒绝的信息,说明确实可以尝试注入

三、黑名单发现

首先需要确定哪些字符是不在黑名单里的。
我把这一章中出现过的命令中存在的字符全都列了一下,先都试一遍看看。

; %3b %0a ${LS_COLORS:10:1} \n %0a & %26 | %7c && %26%26 || %7c%7c `` %60%60 $() %24%28%29 - %09 ${IFS} {ls,-la} / ${PATH:0:1} <<< rev bash base64 $ ( )

BP抓包,发送到intruder,在to参数的位置上枚举上述字符:

根据之前尝试的经验以及这一次枚举的返回内容,可以明显看到报错规律:页面存在“Malicious”文字就表明该字符被过滤了。

设置过滤规则:

最终得到没被黑名单过滤的字符:

三、构造注入命令

可以看到,没有被过滤的字符是非常非常多啊,空格方面有%09和${IFS}、斜杠方面有${PATH:0:1},base64、bash和rev三巨头也是说放就放,需要注意的是代表分号字符的%3b和%0a都被过滤了,可以考虑使用&(合运算符)的%26代替:

空格 -> %09 或 ${IFS} 斜杠 -> ${PATH:0:1} & -> %26

前面忘说了,这是个linux系统,nmap扫一下就知道了

先简单试一手 &ls /,按照上述方法替代:

%26l\s${IFS}${PATH:0:1}

哦,我们已经可以看到flag.txt了,居然就在根目录下。

直接cat /flag.txt,依旧按照上述方法替代:

%26c\at%09${PATH:0:1}flag.txt

没错,结束了,就换了一个空格、换了一个左斜杠、加了一个右斜杠,easy?!

四、复盘

别急,我的base64、bash和rev三巨头还没玩够呢!这里还有编码绕过和反转绕过两种办法:

其中编码绕过我个人认为是最通用的,但需要不禁止base64、bash命令以及<<<符号,要求较高。

%26bash<<<$(base64${IFS}-d<<<Y2F0IC9mbGFnLnR4dA==)

反转绕过需要rev命令以及<<<符号,也不简单啊,看情况使用吧。

%26c\at%09$(rev<<<"txt.galf${PATH:0:1}")

这两个命令的具体构造方法详情参0章节内容。

总结

最难的部分还是找注入点啊!
现实可不会告诉你哪里有洞,也不会回显错误细节,更不会漏放这么多黑名单给你,多上手试多想办法绕,把所有可能的点都当作漏洞点去试,不要怕浪费时间。
(这话也是对自己说,我又没忍住去找wp偷看注入点了)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/15 9:17:58

HCIA认证实验指南:网络配置与排错实战

1. HCIA实验作业概述HCIA&#xff08;Huawei Certified ICT Associate&#xff09;是华为认证体系中面向初级工程师的认证项目&#xff0c;主要考察网络基础知识和基础配置能力。实验作业作为HCIA认证的重要组成部分&#xff0c;通常占考核总分的30%-40%&#xff0c;是检验学员…

作者头像 李华
网站建设 2026/8/15 9:16:33

大模型应用开发实战:LangChain输出解析器解决AI结果结构化难题

1. 项目概述&#xff1a;为什么模型调用结果解析是AI应用开发的“最后一公里” 如果你最近在折腾大模型应用开发&#xff0c;不管是基于LangChain、LangGraph还是自己手搓框架&#xff0c;大概率都遇到过这样的场景&#xff1a;你兴冲冲地调用了GPT-4或者Claude的API&#xff0…

作者头像 李华
网站建设 2026/8/15 9:15:27

大数据处理实战:Python分块清洗与PostgreSQL高速导入四百万行CSV

1. 项目概述&#xff1a;当四百万行数据摆在面前“导入一个CSV文件”&#xff0c;听起来像是数据工作中最基础、最简单的操作&#xff0c;任何一个会用Excel的人都能轻松完成。然而&#xff0c;当这个CSV文件的行数从几百、几千飙升到四百万这个量级时&#xff0c;整个任务的复…

作者头像 李华
网站建设 2026/8/15 9:11:13

pytracking 部署笔记

目录 参数&#xff1a; import syssys.path.insert(0, r"E:/project/track/pytracking-master")from pytracking.evaluation import Tracker from pytracking.evaluation.data import Sequence, BaseDataset, SequenceList from pytracking.evaluation.running impo…

作者头像 李华
网站建设 2026/8/15 9:09:45

CMake编译选项深度解析:从CMAKE_CXX_FLAGS到跨平台构建最佳实践

1. 项目概述&#xff1a;为什么CMAKE_CXX_FLAGS如此关键&#xff1f;如果你用CMake管理过C项目&#xff0c;大概率在某个深夜对着编译错误或者性能瓶颈抓耳挠腮过。这时候&#xff0c;你可能会去翻看CMakeLists.txt&#xff0c;目光最终落在那个看似简单却又充满魔力的变量上&a…

作者头像 李华
网站建设 2026/8/15 9:04:50

Claude文本水印真相:技术原理、影响与应对策略

最近在技术社区和开发者论坛上&#xff0c;关于 Claude 生成文本是否包含“水印”的讨论热度很高。很多开发者在使用 Claude API 或桌面应用时&#xff0c;发现生成的文本在某些场景下存在可识别的模式&#xff0c;这引发了关于模型输出安全性、内容溯源以及开发者权益的广泛争…

作者头像 李华