ueditor上传组件显示乱码_DVWA文件上传漏洞(File Upload)

漏洞的介绍

如果开发者对上传的内容过滤不严密,就可能会存在文件上传漏洞。如果上传的文件能够解析,或者可以配合文件上传漏洞,就可以获取服务器的权限,从而造成不好的影响。

一.Low

首先,先查看源码。

76c4ea4ba7bb12c872394e42a3876c04.png

这个源码的基本意思是,将接收到的文件,上传到“hackable/uploads/”中,并且将路径返回,并没有什么限制条件,可以任意上传。

上传完成后,会出现一下信息:

eff1f0ce2c735e5900395e9e2b1f4382.png

显示上传成功

抓包如图所示:

6110c32496266c7ff6d28bf2e98ba03b.png

二.Medium

还是按照低级的操作,来上传muma.php文件,发现如下图所示:

e21cd582eee7113698fff77eb56a2a45.png

也就是说,切换到中级以后,此时无法上传php格式的文件,只能上传png或jpeg的文件格式。

我们此时在看源代码:

abaa9e4e83a6780877f0ce00a60373f9.png

注:这里声明了三个变量,分别限制了类型必须是image/jpeg或image/png,大小必须小于1000B。

发现,在Medium等级下的上传,限制了文件的类型和大小。

我们可以先看一下抓的包:

be823614653998b3fe47c0200332508f.png

这个图出现了乱码,说明是上传不成功的。

我们再看源代码,发现不可以上传php类型文件,并且大小也不符合 。

如下图所示:

存在乱码的原因是:文档的大小超过了最大值。

60d0137466a2f93efd6509f687ede3f6.png

fdac58b303df71cd60dd5de54abac40e.png我们在这个页面,点击鼠标右键,

选择这个选项,可以打开这个页面:

7001459c65b95ec37c6d02c07c455011.png

在左侧位置进行修改,完成之后点击send,在右侧看是否上传成功。

d18ee08b9cca5af2ecd4acafbcb19873.png

在箭头位置发现文件上传成功

三.High

在上传muma.php测试文件,发现如图所示。

dd1064f44420820242e652dbaf4d5903.png

出现了乱码,上传也不成功。

我们看到给的提示也是php类型文件不能上传,只能上传jpeg或png的文件类型。

我们在采用更改类型和大小的方式进行测试。

发现还是不能上传。

经过我们尝试,低级和中级的方法都无法成功上传文件。

7dc5594b76591d8b3f4661f4ee92dc2f.png

我们看一下高级的源代码:

8a0b6327a5d33e78430747bcf242d82c.png

分析:

首先利用strrpos() 函数来查找“.”在变量$uploaded_name  中出现的位置,然后将得到的数值加1,最后利用substr()函数从变量$uploaded_name的指定位置截取部分字符串。所以这条语句的作用就是从我们所上传的文件名中截取出扩展名部分。接下来就用if语句来判断这个扩展名是否是大写或小写的jpg/jpeg,如果不是的话则不允许上传。

如果要挖出上传的漏洞,那么就可以在网页代码中搜索$_FILES这个用于接收上传文件的变量,或是搜索move_uploaded_file这个用于执行上传操作的函数,然后再分析是否采取了过滤措施。

我们可以尝试修改文件的后缀,看看是否可以上传成功。

77f9dd85ba46aa2f4ef05387d688fcf2.png

发现仅仅修改文件的后缀,没有成功。

我们也可以在文件内部修改格式,在文件头部加入jpg格式的GIF89,把这个php文件做成了png图片格式。

4fa53e829e1d52c775d058996b44467a.png

然后修改后再进行:

792b3d810c96aca83942de7c926ff5ed.png

发现:

11b89d5a60f315790175a3723d9f7eab.png

发现带有php文件的png图片上传成功。

附:bp的使用步骤

①在浏览器上开启代理:

2c4aaa948397c935388235b523d62e4a.png

72ff3714ebb1b3cf89613991b13ddbcb.png

1ff96e384154175e88726e620ab138f1.png

②在上传文件前,开启抓包。

39d2c95a4b15b72dc690d3d9d8b009ed.png

③抓到包时,点击鼠标右键,选择:db443969d1308db2a86b4c14a8f04d66.png

④在左侧进行修改后,点击send,在右侧查看是否上传成功。

623ba2eab444e21f4322bc49bb7f86ca.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值