BUUCTF_web_CheckIn

BUUCTF_web_CheckIn

题目:

题目是SUCTF 2019的web题,
题目源码:https://github.com/team-su/SUCTF2019/tree/master/Web/checkIn

也是看了大佬的writeup才做出来,太菜了。。。orz
学到了一种新的上传姿势。

打开题目是一个上传界面。在这里插入图片描述
随便上传一个php文件,意料之中被拦。
burp抓包改后缀为jpg,提示说包含了<?,看来对文件内容也进行了过滤
在这里插入图片描述
于是将php标记格式改为脚本标记格式:<script language=php> phpinfo() </script>
在这里插入图片描述
报错为 exif_imagetype:not image! ,应该是用了exif_imagetype()函数对文件格式进行了检查

注:exif_imagetype() 读取一个图像的第一个字节并检查其签名。

这里可以用一般的图片马来绕过(注意图片中不能有"<?",这也是比较坑的地方),或者直接在内容上加上图片的标识头。比如:GIF

所以,可以是这样:
在这里插入图片描述
成功传入。

但上传上去了只是jpg格式,没法直接利用。
是时候就引出了.user.ini文件了。
原理可见p神文章https://wooyun.js.org/drops/user.ini文件构成的php后门.html
简单来说,.user.ini文件形成后门原理就是会在执行所有的php文件之前包含.user.ini所指定的文件

比如,.urer.ini文件中内容:auto_prepend_file=1.jpg 那么,所有的php文件执行前都会将1.jpg当做php类型的文件先包含执行一遍。这也是这道题的关键。(学到新姿势了。。orz)

所以返回到这道题中来,我们先上传一个.user.ini的文件,将其内容设置为auto_prepend_file=shell.jpg,别忘了加上图片头GIF
在这里插入图片描述
接着上传一个shell.jpg的一句话
在这里插入图片描述
接着访问上传目录下的index.php,post密码shell,看到效果。
在这里插入图片描述
接着在根目录下找到flag。之后cat /flag得到flag
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值