upload-labs-master靶场 Pass11-15通关秘诀(详解版)

关数(通关特征)

PASS-11(双写后缀名绕过)

关卡分析:

在上传模块,有的代码会把黑名单的后缀名替换成空,例如 a.php 会把 php 替换成空,但是可以使用双写绕过例如 asaspp,pphphp,即可绕过上传。

同样是黑名单过滤。str_ireplace 对上传的后缀名是黑名单内的字符串转换成空。

绕过演示:

1.创建shell.pphphp,上传文件。

2.右键查看图片详情。

http://127.0.0.1/BC/upload-labs-master/upload/shell.php

 解析成功!

PASS-12(目录可控%00截断绕过)

关卡分析:

文件上传%00绕过是指攻击者在文件上传时,在文件名后面添加%00字符,从而绕过服务器端的文件 类型、拓展名以及大小限制,成功上传恶意文件到服务器端,从而进行攻击的一种技巧。

00截断时操作系统层的漏洞,由于操作系统是C语言或汇编语言编写的,这两种语言在定义字符串时, 都是以0x00作为字符串的结尾,操作系统在识别字符串时,当读取道0x00字符时,就认为读取到了一个 字符串的结束符号,因此,我们可以通过修改数据包,插入0x00字符的方式,达到字符串截断的目的。

00截断通常时绕过白名单的限制。

条件

php版本小于5.3.29 magic_quotes_gpc=Off

代码分析

代码中使用白名单限制上传的文件后缀名,只允许指定的图片格式。但是$_GET['save_path']服务器接受客户端的值,这个值可被客户端修改。所以会留下安全问题;

绕过演示:

将php版本改为小于5.3.29

将magic_quotes_gpc=Off

上传shell.php文件

抓包,将shell.php后加上%00,将shell.php改为shell.jpg

右键查看图片详情

注意要将后面奇怪的字符删掉。

解析成功!

PASS-13(目录可控%00截断绕过-hex修改)

关卡分析:

原理同12关相同,只是需要在hex中修改相关字符。

关卡代码同样是白名单限制后缀名,$_POST['save_path']是接收客户端提交的值,客户端可任意修改。 所以会产生安全漏洞。

POST 下直接注入%00 是不行的,需要把%00 解码变成空白符,截断才有效。才能把目录截断成文件名。

绕过演示:

抓包

选择Hex中修改,将#的Hex字符改为00。

查看图片访问。

http://127.0.0.1/BC/upload-labs-master/upload/shell.php/2620230801185115.jpg

PASS-14(图片马+文件包含/GIF89A)

关卡分析:

文件头代表了文件是那种类型,我们上传的文件内容如果是只有php代码,那么程序在对我们的文件头 部进行检查时,如果发现没有允许上传文件类型的文件头,就会对我们上传文件进行拦截。

什么是文件头?

文件头是位于文件开头的一段承担一定任务的数据,一般都在开头的部分,不同得文件,文件头也不同,如:JPG/PNG。

常见的文件头:

○ JPEG (jpg),文件头:FFD8FF

○ PNG (png),文件头:89504E47

○ GIF (gif),文件头:47494638

○ TIFF (tif),文件头:49492A00

○ Windows Bitmap (bmp),文件头:424D

绕过演示:

在相关文件下,我们将图片123.jpg和1.php进行合并,生成一个shell.php文件。copy tupian.jpg/b + shell.php/a ma.png,直接上传。

上传图片马shell.jpg。

这里图片马不能直接解析,我们使用文件包含进行解析。

复制upload以及后面的内容。

点击关卡中的文件包含漏洞。

访问图片,解析成功!

PASS-15(图片马+文件包含)

关卡分析:

白名单的方式过滤,getimagesize 是获取图片的大小,如果头文件不是图片会报错直接可以用图片马绕过检测。

绕过演示:

攻击方法同14关一样。

http://127.0.0.1/BC/upload-labs-master/include.php?file=upload/6020230801191056.png

(谢谢大家!欢迎提出批评和建议!你的支持是我持续更新的巨大动力!)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值