在开始之前我们得先了解什么是文件上传漏洞,为什么会产生漏洞?以及文件上传漏洞有什么危害?
文件上传漏洞顾名思义是指开发者或者程序员在开发网站的时候没有对用户上传的文件进行识别和过滤,因为很多网站提供的功能比较多,比如前台用户注册上传头像,允许上传图片,视频等等,没有做很好的过滤就会导致恶意用户上传恶意文件,从而控制整个网站以及服务器,被列为高危漏洞
笔者这里建议阅读的朋友们先了解什么是一句话木马,一句话木马又分为asp,php,aspx,jsp等几种不同的一句话木马,争对不同脚本的网站采取使用不同的木马,这里补充一个知识点就是,部分网站可以采取上传不同的马来进行突破限制,因为有些服务器不止搭建一个类型的网站,例如一个服务器上面有asp的网站也有php的站,那么我这个时候就可以变换上传不同的马突破。
这里废话不多说了,我们直接开始实战测试,关于dvwa靶机的搭建笔者在后面也会写一篇关于dvwa的搭建教程供大家参考,大家也可以去看别的博主的搭建过程。
在dvwa中我们选择文件上传,难度为低级。
这里我们尝试上传一张图片看能否成功
复制上传地址测试发现该上传接口是可以正常上传图片的
我们这里直接进行源码审计,发现没有做任何的过滤那我们直接可以上传任意文件,因为该DVWA是PHP脚本搭建的,所以我们也要使用PHP的脚本进行上传,然后通过菜刀工具直接链接getshell
这里直接上传了一句话为cc.php,然后复制上传地址直接访问看是否执行了代码
这里返回了空白说明了代码已经成功执行
将地址复制然后利用菜刀工具链接一句话木马
到这里我们就成功拿下了网站,然后进入中级难度,也是一样先审计源码代码,发现过滤了上传的属性是否为图片格式,和文件的大小,这里我们就需要抓包对数据包进行修改了
图片中我标记的部分就是我们要修改的地方,可以看到content-type的属性不是图片的image/jpeg,还有文件大小不符合上传的大小,我们直接多复制几个一句话即可绕过
看这里修改了直接go,然后找到上传的地址访问看是否执行一句话木马
空白说明我们代码成功上传并执行
这里我们直接跟前面一样链接就行最后我们来看看高级难度的上传
审计代码得知这里使用了白名单模式,除了jpg,JPG,jpeg,JPEG这几种类型除外,其它的一律不准上传,那我们直接配合文件包含漏洞包含我们的图片马直接getshell,制作图片马的过程小编这里就不展示了,各位小伙伴可以网上搜索图片马制作过程,这里高级难度我是用的是fofa上面搜索的DVWA的高级难度,因为我的靶机高级难度是写死了,在这里我们上传的图片马为1.jpg
这里有些小伙伴可能不懂,因为同样是高级难度,所以小编提前审计了文件包含的代码此处可以使用伪协议来包含我们的图片马来进行绕过,可以看到也是成功执行了PHP代码所以图片才会显示出乱码的形式
最后利用菜刀工具直接链接该地址就行,后续小编也会更新文件包含的漏洞,文件上传漏洞可能有些地方讲的不是很好,还请大家多多指教。
标签:文件,这里,dvwa,漏洞,木马,上传,图片 From: https://blog.csdn.net/qq_61426144/article/details/140532207