buuctf-upload
buuctf-upload
[MRCTF2020]你传你🐎呢
先上传一个图片,发现上传成功了,还给出了文件的保存路径
再尝试上传1.php
但是出现了,报错提示
首先尝试的是,将Content-Type: image/jpeg
改为图片类型,但是还是无法上传
再尝试一下.htaccess文件
文件内容
1 | SetHandler application/x-httpd-php |
上传成功后,再上传包含一句话木马的 a.jpg文件,.htaccess
文件的作用就是将指定类型的文件当作php文件运行
所以表面上是jpg类型的文件,但是是当作php文件
上传成功后,蚁剑访问url+/upload/3af588e32ac72180588d18d5c3b470b4/a.jpg
密码为:cmd
[SUCTF 2019]CheckIn
试着上传php文件,提示非法后缀名,继续修改后缀名,发现php3,php5,phtml等可执行文件后不可上传
想到上传.htacess
文件,但是也提示了非法后缀名,这个方法行不通了
但是之前做upload-labs中还有一个上传.user.ini
的文件
.user.ini
是什么
这得从php.ini说起了。php.ini是php默认的配置文件,其中包括了很多php的配置,这些配置中,又分为几种:
PHP_INI_SYSTEM
、PHP_INI_PERDIR
、PHP_INI_ALL
、PHP_INI_USER
。
.user.ini
的作用
可以借助.user.ini轻松让所有php文件都“自动”包含某个文件,而这个文件可以是一个正常php文件,也可以是一个包含一句话的webshell
开始做题
上传.user.ini文件
GIF89a是GIF文件内容开头的几个字符,其作用是为类绕过exif_imagetype()
上传1.gif
文件保存的路径已经给出,开始蚁剑链接的连接是
1 | url/uploads/04b0951938d905b41348c1548f9c338b/1.gif |
但是一直连接不上
后来链接index.php才连接上,这里想到了.user.ini
作用,是让所有的php文件包含整个一句话木马,而这里文件路径存在一个index.php,所有说index.php中也存在这个一句话木马
1 | /uploads/04b0951938d905b41348c1548f9c338b/index.php |