网安学习Day14

目录

upload_labs通过

level-12

level-13

level-14

level-15

level-16

level-17​

​level-18

level-19​

level-20​

level-21​

今天继续通过uploadlabs来联系文件上传的知识点,上次做到了第11关,接下来就更新剩下的所有的关卡。

upload_labs通过

level-12

         显然这里是白名单的方式来设置的规则,但是上传的路径是可以进行控制的,这里通过GET方式提交所以我们通过%00来进行绕过。

level-13

         第十三关与十二关的原理是一样的,只不过在第十三关中,采用的是POST方式来提交,POST方式是不会自动进行解码的,所以需要我们自己帮助它来解码。

        其实这里的3.php后面的%00已经被我们手动的解码了。上传成功之后,复制图片链接的地址,我们来访问便发现图片中的php语句被成功执行。

level-14

        题目已经告诉我们,上传图片,并且结合文件包含漏洞,我们观察其源码。

        我们看到有两个函数,一个是@unpack,另一个就是intval函数,其中的unpack函数的作用就是:从二进制字符串对数据进行解包。其中的intval函数是获取变量的整数值,通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。

level-15

        getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息。 image_type_to_extension 根据指定的图像类型返回对应的后缀名。stripos() 函数查找字符串在另一字符串中第一次出现的位置,stripos函数是不区分大小写的,如果返回值>=0,则查找成功,否则返回false。

level-16

         内置函数exif_imagetype函数用来获取图片的类型。

level-17

        分别通过函数imagecreatefromjpeg、 imagecreatefrompng、imagecreatefromgif来判断图片的类型。所以以上的level14-17关卡都可以通过上传一个图片马结合上文件包含漏洞来实现通关。

level-18

        第十八关主要考察的是条件竞争的原理,例如我们在编辑一个文件的时候,是不可以将他进行删除、重命名等操作的。        在这里的代码中,就是先将我们上传的文件临时保存在/upload下面,然后再去判断文件名是否合法以及二次渲染操作,并且将其重命名,所以我们可以在上传文件的瞬间去访问它,导致这个文件的执行,并且不会重命名。这里我们就可以直接上传一个php文件,通过抓包发送到Intruder模块,不断的进行发包,然后去访问它。

level-19

        十九关的思路和十八关类似,只不过是先进行了验证文件的后缀名,然后进行上传,上传之后在进行二次渲染。所以我们这里可以通过上传图片马,然后结合文件包含漏洞。

level-20

         20关有两种思路,一种是由于move_upload_file()中的$img_path它是通过POST方式来控制save_name的,所以我们可以使用%00截断来修改。

        第二种思路就是利用move_upload_file()的特性,它会将后缀的/.去掉。所以我们可以上传文件的后缀名为.php/.来绕过。

        这里的php后面是存在%00经过解码之后的。同上面的%00截断的方法是一样的。 

level-21

         数组接受+文件命名。首先会通过一个MIME的信息校验,通过之后查看save_name中是否为空,如果为空则取上传文件中的名字,否则就取save_name中的值作为$file的值,之后判断$file中是否为空,如果不为空,将其中的字符全部转换为小写。然后取$file中的后缀名与白名单中的后缀名进行比较。这里我们就可以设置save_name数组中的值来进行绕过。

        在修改之后save_name中存储的信息分别是shell.php/、空(因为这里我们在数据包中没有指定)、jpg,$file_name中的值就变成了shell.php/.jpg。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y4y17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值