ctfshow web入门 命令执行部分(29-31)

大佬请自行忽略讲解部分,讲解针对新手。知识点源自payload的构造。大部分flag需要右键查看源码获得

29

知识点:通配符

payload:c=system('cat f*');
在linux系统中 有一些通配符

*	匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file *
?	匹配任何一个字符(不在括号内时)?代表任意1个字符 ls file 0
[abcd]	匹配abcd中任何一个字符
[a-z]	表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0

我们想要执行 cat flag.php,但是flag被过滤了,这时候就可以使用通配符
cat f*表示打开当前目录下所有 f开头的文件

再补充一下:
对于linux cat和ca''t ca\t ca""t效果是相同的 这样同样可以绕过字符的限制
比如 c=system('ca\t fla\g.php');

30

知识点:反引号执行系统命令

payload:c=echo `cat f*`;

因为过滤了system,我们就得选择其他的命令执行函数了
常见的有如下几个,其中system是有回显的,其他的就得需要我们自行输出。调用echo或者其他输出函数即可。

system()
passthru()
exec()
shell_exec()
popen()
proc_open()
pcntl_exec()
反引号 同shell_exec() 

31

知识点:空格过滤+cat过滤绕过

payload:c=echo(`more%09f*`);
在linux 空格可以用以下字符串代替:

%09(tab)、$IFS$9、 ${IFS}、$IFS%09(tab)、< 、<>、%20(space)等

在使用带有$的内容替换时,要注意转义,因为$在php中有特殊含义
在这里插入图片描述
在linux中与cat有类似功能的有如下字符
cat、tac、more、less、head、tail、nl、sed、sort、uniq、rev
找到一个替换的即可。

### CTFShow Web 入门命令执行挑战解析 在处理CTFShow平台中的Web类别入门级别命令执行挑战时,理解如何利用PHP代码注入来实现远程命令执行(RCE)至关重要。通过分析给定的参数传递方式以及服务器端脚本的行为模式,可以找到绕过简单过滤机制的方法。 对于此类题目,通常会提供一个带有漏洞的应用程序接口,允许攻击者通过特定输入点提交恶意数据。在这个例子中,存在两个主要入口用于测试:一个是基于URL查询字符串的方式;另一个则是表单POST请求方法[^3]。 #### 利用PHP函数进行命令执行 当遇到能够控制部分PHP源码的情况时,可以通过精心构造payload触发底层操作系统指令调用。例如,在给出的例子中有如下形式: ```php <?php echo `ls`; ?> ``` 这段代码会在当前工作目录下执行Linux/Unix系统的`ls`命令并显示其输出结果。为了进一步探索文件结构或读取敏感信息,可替换为其他有用的操作系统命令组合,如`cat`、`find`等。 针对此题目的具体场景,如果目标是获取某个特定PHP文件的内容,则可以根据上下文调整上述模板以适应实际需求。比如要逆向打印整个`ctfshow.php`文件内容,可以构建这样的HTTP GET请求: ``` ?v1=1&v2=system("tac%20ctfshow.php")/* ``` 这里使用了GNU/Linux特有的`tac`工具代替常见的`cat`命令,从而实现了从最后一行到第一行反序展示文本的效果。同时注意到了SQL注释符`/* */`的存在,这有助于屏蔽掉后续不必要的字符干扰。 另外一种常见技巧涉及直接访问内部变量状态,这对于调试和信息收集非常有帮助。假设想要查看名为`$ctfshow`的数据项详情,那么就可以发送类似下面所示的链接地址: ``` ?v1=1&v2=var_dump($ctfshow); ``` 这种方法依赖于PHP内置诊断功能——`var_dump()`函数,它能清晰地呈现出传入表达式的类型及其值。 #### 绕过基本防护措施 尽管某些情况下可能存在简单的正则表达式匹配型WAF(Web Application Firewall),但只要掌握了它们的工作原理就很容易规避这些限制。观察提供的WAF检测逻辑可知,主要是对一些关键字进行了黑名单过滤[^4]。因此,在设计最终有效载荷之前应当仔细考虑怎样巧妙避开那些被监控的关键字列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yu22x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值