Zephyr's Repository Zephyr's Repository
首页
笔记
技术
更多
收藏
关于
  • 📂 分类
  • 🏷️ 标签
  • 📅 归档

Zephyr

偷得浮生半日闲
首页
笔记
技术
更多
收藏
关于
  • 📂 分类
  • 🏷️ 标签
  • 📅 归档
  • Web

    • Pikachu靶场
    • SUCTF 2019 CheckIn
      • 题目分析
        • 传🐎
      • 思路整理
      • .user,ini
      • getshell
    • GXYCTF 2019 BabySQli
    • GYCTF 2020 Blacklist
    • RoarCTF 2019 Easy Java
    • CISCN 2019 初赛 Love
    • 0CTF 2016 piapiapia
  • PWN

  • 笔记
  • Web
Zephyr
2022-07-14
目录

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

#buuctf#web#Uploadfile
上次更新: 2022/08/16, 22:43:10
Pikachu靶场
GXYCTF 2019 BabySQli

← Pikachu靶场 GXYCTF 2019 BabySQli→

最近更新
01
0CTF 2016 piapiapia
07-23
02
CISCN 2019 初赛 Love
07-22
03
PHP反序列化
07-21
更多文章>
Theme by Vdoing | Copyright © 2021-2022 Zephyr | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×