[MRCTF2020]你传你?呢

做题思路

php常规后缀绕过一波发现全被过滤
发现jpg图片是能上传的
在这里插入图片描述
图片里的马怎么用呢
1.文件包含
刚学到一种新姿势
用.user.ini文件自动包含图片木马
文章的最下面尝试用这种方法试试解这道题
原理:文件包含过程中执行了图片里的代码
2.apache解析漏洞
原理:
当AllowOverride被启用时,上传启用解析规则的.htaccess
修改.htaccess文件的内容即可修改图片的解析方式

这里想利用文件包含是很难了
因为没有任何条件看出有包含漏洞
那么就尝试第二种方法
这行代码的意思就是把.jpg格式的文件当成php文件去解析
在这里插入图片描述
上传发现还是被过滤
在这里插入图片描述
那这个能不能绕过呢
之前我们不是已经发现jpg可以上传么
修改文件类型试试
在这里插入图片描述
发现还是不行
这算是个小坑吧
JPEG(Joint Photographic Experts Group)是JPEG标准的产物,该标准由国际标准化组织(ISO)制订,是面向连续色调静止图像的一种压缩标准。JPEG格式是最常用的图像文件格式,后缀名为.jpg或.jpeg。

在这里插入图片描述
然后直接蚁剑连就行了
在这里插入图片描述
他们俩是在一个目录里的
在这里插入图片描述
在这里插入图片描述

本地复现

在这里插入图片描述

发现连接失败了
在这里插入图片描述
大写的尴尬,刚刚开的是nginx
换成apache重连还是失败

在这里插入图片描述
配置文件也改了还是连接不上,未知原因
在这里插入图片描述

尝试新姿势

上传图片木马
在这里插入图片描述
上传.user.ini文件
在这里插入图片描述
果不其然连接失败
才发现index.php和我们上传的.user.ini以及1.jpg都不在同一个目录下
在这里插入图片描述

本地测试新姿势

直接把文件拖到服务器
在这里插入图片描述
然后修改user_ini.cache_ttl=10(在php.ini里)
.user.ini是一个能被动态加载的ini文件
也就是说我修改了.user.ini后不需要重启服务器中间件
只需要等待user_ini.cache_ttl所设置的时间(默认为300秒)
即可被重新加载(一定要修改时间,不然你得等300秒)
然后用去连接就成功了
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值