pikachu之文件上传

客户端check

上传一个图片,BP抓包,修改后缀PHP再发包,得到路径蚁剑去连就成了


因为是前端验证,所以也可以去修改前端验证,把这里留空同样可以通过前端的验证

服务端check

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。
是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。
多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

常见的MIME类型(通用型):
超文本标记语言文本 .html text/html
xml文档 .xml text/xml
XHTML文档 .xhtml application/xhtml+xml
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
PDF文档 .pdf application/pdf
Microsoft Word文件 .word application/msword
PNG图像 .png image/png
GIF图形 .gif image/gif
JPEG图形 .jpeg,.jpg image/jpeg

BP抓包,只需要修改type为image/jpeg就可以成功上传了,蚁剑就可以去连了

getimagesize()

getimagesize()返回结果中有文件大小和文件类型,如果用这个函数来获取类型,从而判断是否是图片的话,会存在问题

但是我们可以绕过,因为图片头可以被伪造

可以制作一张简单地图片马来上传绕过

再利用前面的文件包含漏洞去读取一句话马,这样蚁剑就可以读取了

http://pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2021/02/20/5318046030ce01ee4f6333295595.jpg&submit=提交查询

posted @ 2021-02-20 16:46  paidx0  阅读(235)  评论(0编辑  收藏  举报