文件上传概念

在各种网站,应该说基本的网站就会有上传文件的功能,比如说让上传个.jpg、.png、.mp4等文件,就拿一个普普通通的网站来说,注册账户后常见的换头像,换背景,可以把背景设置成一个短视频了等等。而文件上传漏洞就是这个上传文件的功能没有做好防护而产生的漏洞。
用户把文件上传到服务器的时候,服务器会检测用户上传的文件是否符合规则,不符合规则的文件(比如一句话木马等php文件)服务器会拒绝接受,用户就无法上传成功。
但是一旦上传成功,可以通过一句话木马构造的密码,用菜刀之类的工具来连接服务器。
刚学习文件上传漏洞,就拿靶机试一下。

测试

low级别测试

先看源码。(DVWA里提供PHP源码查看。)
文件上传漏洞的了解和初次尝试_上传
可以看看靶机提供的PHP源码。好像是没有什么限制条件。待会对比一下中级的。

测试用到的工具、环境

环境:DVWA(Damn Vulnerable Web Application!)
工具:中国蚁剑、一句话木马文件

测试操作

首先在本地写个一句话木马,并保存一个位置
文件上传漏洞的了解和初次尝试_文件上传_02
来到靶场,上传文件
文件上传漏洞的了解和初次尝试_上传文件_03
这里就看到了上传成功了
文件上传漏洞的了解和初次尝试_php源码_04
复制文件路径(当然这只是靶机,其他网站是不会有路径放出来的。)
文件上传漏洞的了解和初次尝试_服务器_05
复制1那个到url框里,记得把“#”删了再粘贴。
文件上传漏洞的了解和初次尝试_php源码_06
其实是空白,什么都没有,php代码是后端语言,在前端看不到的。所以这样很正常的。
然后打开中国蚁剑
添加数据
文件上传漏洞的了解和初次尝试_服务器_07
连接密码就是一句话木马里的那个。
文件上传漏洞的了解和初次尝试_文件上传_08
可以看到连接成功了
然后就可以看到里面的信息甚至可以增、添、删、改服务器的数据
文件上传漏洞的了解和初次尝试_上传_09
可以看到,然后我把它删了,就出来一片红色警告。总之就是连不上了。

medium级别测试

靶机里调一下级别,调成中级。然后,我又去尝试了上传低级别的一句话木马,想看看对比。
文件上传漏洞的了解和初次尝试_上传_10
果然不行,看看PHP代码。
文件上传漏洞的了解和初次尝试_上传_11
可以对比出来中级的多了限制条件,只能传JPEG或者png图片并且还有大小限制。只能上传这个应该是100k的图片吧。
当然还有办法进行上传。这里需要绕过。但不是过狗啊,这里可没有狗,只是一个限制。所以想办法绕过。先了解一下mime文件类型和image文件类型
文件上传漏洞的了解和初次尝试_上传文件_12
了解mime
这个实验,上传mime实验。
操作示图:
文件上传漏洞的了解和初次尝试_php源码_13

测试需要用到的工具

新朋友:burp suite
一句话木马,靶机环境:DVWA。连接工具:中国蚁剑。

实验操作

burp设置代理,开启burp,但是浏览器先不开代理。
开始选择准备上传的文件,先拿个txt文件试试水。
文件上传漏洞的了解和初次尝试_php源码_14
开代理,传文件。抓包
文件上传漏洞的了解和初次尝试_上传文件_15
将type类型改为image/jpeg。然后放包。

文件上传漏洞的了解和初次尝试_php源码_16
回到浏览器,看到了,上传成功了。
文件上传漏洞的了解和初次尝试_上传_17
查看一下上传的文件是什么样子的
文件上传漏洞的了解和初次尝试_服务器_18
可以看到成功了,接下来就是传木马了。同样的操作。
文件上传漏洞的了解和初次尝试_文件上传_19
开蚁剑,连接
文件上传漏洞的了解和初次尝试_服务器_20
连接成功了
文件上传漏洞的了解和初次尝试_服务器_21
可以看到上次传入的lxj.txt,删了,收工。
文件上传漏洞的了解和初次尝试_php源码_22

high级别测试

还是先看看代码再说(虽然不能完全看懂,但好歹能看懂几句。哈哈)
文件上传漏洞的了解和初次尝试_上传文件_23

实验操作

代码限制了上传文件的类型和格式,其实试着传一个文件可以发现,它限制了文件的扩展名,所以只能上传图片。

第一次错误尝试

把写的一句话木马,写好,改成jpg格式。
文件上传漏洞的了解和初次尝试_上传_24
将后缀改成jpg。然后上传,(其实挺意外的竟然传过去了,连burp都没用到,有点不对劲啊。)
文件上传漏洞的了解和初次尝试_上传_25
查看是打不开的
文件上传漏洞的了解和初次尝试_文件上传_26
连接也是失败的。
文件上传漏洞的了解和初次尝试_上传_27
接下来不会了,搞不明白什么情况了。
看了大佬的文章进行学习,因为视频资源有点老了,DVWA已经更新了,前两个等级还好,还能用,高级的就不好用了。所以果断百度大佬的文章继续进行接下来的学习。

第二次错误尝试(图片马)

将一句话木马与一张图片进行合成。
文件上传漏洞的了解和初次尝试_文件上传_28
合成之后
文件上传漏洞的了解和初次尝试_文件上传_29
打开看下,发现被合成到最后面了。
文件上传漏洞的了解和初次尝试_文件上传_30
上传一下,试试。
文件上传漏洞的了解和初次尝试_服务器_31
又成功了,莫名的有点慌,这次应该能看吧。
文件上传漏洞的了解和初次尝试_服务器_32
可以看,那就复制URL进蚁剑尝试连接。
文件上传漏洞的了解和初次尝试_文件上传_33
?????
文件上传漏洞的了解和初次尝试_php源码_34
卡到这里了,完蛋,关于DVWA的high高级上传希望各位看到的师傅们指点我一下,万分感谢。
文件上传漏洞的了解和初次尝试_文件上传_35