文件上传漏洞的了解和初次尝试

文件上传概念

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

测试

low级别测试

先看源码。(DVWA里提供PHP源码查看。)
Augenstern
可以看看靶机提供的PHP源码。好像是没有什么限制条件。待会对比一下中级的。

测试用到的工具、环境

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

测试操作

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

medium级别测试

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

测试需要用到的工具

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

实验操作

burp设置代理,开启burp,但是浏览器先不开代理。
开始选择准备上传的文件,先拿个txt文件试试水。
Augenstern
开代理,传文件。抓包
Augenstern
将type类型改为image/jpeg。然后放包。

Augenstern
回到浏览器,看到了,上传成功了。
Augenstern
查看一下上传的文件是什么样子的
Augenstern
可以看到成功了,接下来就是传木马了。同样的操作。
Augenstern
开蚁剑,连接
Augenstern
连接成功了
Augenstern
可以看到上次传入的lxj.txt,删了,收工。
Augenstern

high级别测试

还是先看看代码再说(虽然不能完全看懂,但好歹能看懂几句。哈哈)
Augenstern

实验操作

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

第一次错误尝试

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

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

将一句话木马与一张图片进行合成。
Augenstern
合成之后
Augenstern
打开看下,发现被合成到最后面了。
Augenstern
上传一下,试试。
Augenstern
又成功了,莫名的有点慌,这次应该能看吧。
Augenstern
可以看,那就复制URL进蚁剑尝试连接。
Augenstern
?????
Augenstern
卡到这里了,完蛋,关于DVWA的high高级上传希望各位看到的师傅们指点我一下,万分感谢。
Augenstern

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值