[MRCTF2020]你传你🐎呢
咋说呢,题目名很顶😂。
开启靶机后,打开主页,发现就一个文件上传页面。
先上传一个正常的文件,发现错误。
我到这,我直接蚌埠住了,传个正常文件你给我直接挂,那你让我上穿神马。后来看了下别人写的writeup,发现正常传文件时是可以的。那就是我的问题了?
后来发现是因为上传文件大小有限制!人傻了啊,照片一般也就几十kb啊,这都不行。
上传失败,怀疑是文件类型的问题,后来改成image/png就可以了。
下一步进行测试时,发现文件类型仅支持图片类型,文件后缀,ph开头全部被限制。也就是说使用的是黑名单限制。
测试文件后缀空格改为0x00,失败。由于目标服务器是linux,所以部分黑名单的方法绕过不可以使用。
下一步就剩下,图片马了,但图片马,需要文件包含漏洞,目标靶机并不存在文件包含漏洞。
所以就剩下结合服务器组件漏洞了。1、要么使用.user.in文件。2、要么使用.htaccess文件。
.user.in文件的使用需要上传目录存在php文件,我们不清楚上传目录是否存在php文件。最合适的就是上传.htaccess文件,htaccess文件可以使上传的当前目录任意文件当作php文件执行。
图片马可以运行,下面看下disable_function处,是否可以执行eval()函数。
eval()函数可以执行,但system()等函数被禁用,只能上马链接蚂🗡了。
成功获取flag。
总结
首先,正常上传图片文件,竟然因为文件大小的问题,上传失败,就挺难受。不过还好,总算知道是什么原因不能上传。总体来讲,这道题,难度是可以的,需要一步步的进行尝试。
参考链接
来源地址:https://blog.csdn.net/qq_40646572/article/details/127513894