pikachu靶场 Unsafe Filedownload、Fileupload

目录

Unsafe Filedownload

Unsafe Fileupload

client check

MIME type

getimagesize


Unsafe Filedownload

这一关主要是路径的问题,点击nba球员,但是抓包后改数据下成了我放在c盘的1.txt文件

原理是抓包后用通配符把相对路径切换到c盘目录下,分析一波源码看看怎么回事(这关源码简单易懂)

找到带nba图片的代码,可以看到都是在download目录下找到的png图片,稍微可以猜测用相对路径跳目录

分析下载的代码,确认传入参数前面拼接了download目录(选中的那行)

 

Unsafe Fileupload

client check

看题名猜测文件校验是在客户端进行,尝试上传一句话木马,发现弹窗

给一句话木马增加一个图片文件后缀

开启抓包,将文件名后的图片文件后缀删除,关闭抓包(看选中的那行)

看见成功上传,在当前目录下的uploads文件夹内

使用中国菜刀连接,口令rnmd

成功进入后台 

看一波源码,文件校验通过前端方式,仅比对文件名称最后一个点后面的文件后缀是否与规定的三个文件后缀符合,因此可以使用前面步骤绕过校验

 

MIME type

开启抓包,直接上传一句话木马,HTTP协议使用MIME来标识数据类型就是那个Content-Type,暂时不改,直接通过会显示“上传的图片只能是jpg,jpeg,png格式的!”

把它改成image/png,关闭抓包

成功上传,后面的连接后台就不重复了

分析源码,可以看到允许的MIME类型只有三种图片格式

 

getimagesize

直接上传php文件会显示“上传文件的后缀名不能为空,且必须是jpg,jpeg,png中的一个”;这次在一句话木马前面加个GIF89a,后缀更改为jpg

上传成功后会把文件名更改为一大串数字,并放到以时间命名的文件夹,这次需要通过文件包含漏洞来连接菜刀,就是把url里的文件调用路径跳转到上传后的文件路径

连接菜刀,成功

略微复杂的步骤,原因是getimagesize()函数会检查文件开头格式是不是和文件后缀对应,通过文件包含漏洞依然可以实现解析图片内的php代码

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值