SUCTF 2019 CheckIn

SUCTF 2019 CheckIn

题目分析

首先看一下题目,很普通的一个上传页面:

SUCTF_2019_CheckIn1

传🐎

直接先传个🐎上去看看,毫不意外的illegal

SUCTF_2019_CheckIn2

尝试更改后缀为php3、php5、phtml等都是illegal,无法上传

更改后缀为jpg,提示包含<?无法上传

SUCTF_2019_CheckIn3

换种姿势继续上传

SUCTF_2019_CheckIn9

很明显是用exif_imagetype()函数来检测是不是图像,函数功能是读取一个图像的第一个字节并检查其签名。这里在🐎前面加个GIF89a成功绕过进行上传,得到了上传路径

SUCTF_2019_CheckIn7

(仔细查看还能发现该目录下不仅有刚传的🐎还有一个index.php文件,一开始并没有留意,这个有大用)

思路整理

  • 上传过滤方式应该是黑名单过滤php类变种文件类型无法上传
  • 对文件头进行过滤,需要添加图片文件的文件头
  • 文件的内容不能包含<?,但可以上传<script language='php'><scirpt>类型的图片马来绕过

目前我们已经成功上传了一个图片🐎,很自然地就会想到通过文件包含或解析漏洞来触发,也就更自然地想到利用上传.htaccess文件来将图片🐎解析为php

失败地也很自然,服务器是nginx,版本还比较高,并不存在解析漏洞

再回头突然注意到图片马的目录有一个php文件,这符合利用.user.ini的文件包含来getshell的姿势

.user,ini

话不多说直接传

SUCTF_2019_CheckIn8

getshell

蚁剑连接该路径下的index.php,即可获得shell,得到flag

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇