upload-labs靶场

本人为新手,发文章只是记录学习笔记,大佬勿喷。

文中很多地方有多种解法,并不唯一。

目录

Pass-01

Pass-02

Pass-03

Pass-04

Pass-05

Pass-06

Pass-07

Pass-08

Pass-09

Pass-10

Pass-11

Pass-12

Pass-13

Pass-14

Pass-15

Pass-16

Pass-17


Pass-01

上传01.php文件,文件内容为:<?php phpinfo();?>

尝试上传,失败了

查看提示,发现这一关是使用js在客户端验证上传文件类型。

这一关我们有两个解决办法,方法一:

把文件后缀改为png,浏览器设置本地代理,使用burp进行抓包

在burp抓住的数据包15行的filename中把文件后缀改为01.php,按左上角的Forward放包。

右键图片,点Copy lmage Link 复制图片链接。

打开新窗口进行访问,可以成功执行php文件。

方法二:

F12查看源代码,把οnsubmit=“ ”里面的都删掉,就不用绕过验证了

直接上传php文件成功

 右键图片复制链接,访问执行成功。

Pass-02

创建02.php文件,文件内容为<?php phpinfo();?>

尝试上传文件,不出意外失败了。

查看提示和源代码,可以看到是MIME验证 

  

 使用burp进行抓包,修改数据包的Content-Type: 的内容为:image/png ,就可以进行放包了

 没有报错,右键复制图片链接

访问能执行。

Pass-03

查看源代码发现是黑名单验证,但不完善,只有四种

在某些特定环境中某些特殊后缀仍会被当作php文件解析 php、php2、php3、php4、php5、php6、php7、pht、phtm、phtml。但要在phpstudy的配置文件上修改一下,这里我使用的是phpstudy2016版本,php5.2.17。

打开httpd配置文件,添加AddType application/x-httpd-php .php .phtml .php5 .php3    ,保存,重启服务。 

 创建03.php文件,内容为<?php phpinfo();?>     正常上传03.php文件,失败了。

修改03.php文件后缀为03.php5,上传成功。

右键图片复制链接,打开新窗口访问链接,执行成功

Pass-04

查看源代码可以看到这题也是黑名单验证,而且也比上一题的完善很多 ,这里使用 .htaccess文件

 创建.htaccess文件,内容为SetHandler application/x-httpd-php   然后上传,这题并没有限制.htaccess文件上传。

创建04.php文件,内容为<?php phpinfo();?>    修改后缀为04.png  上传成功

右键图片复制链接,打开新窗口访问链接,成功执行

Pass-05

查看源代码,可以利用点加空格绕过 . .    过滤掉一个点就是05.php.    在Windows环境是可以当成php执行的

创建 05.php. . 文件,内容为<?php phpinfo();?>    上传成功

复制链接访问也能正常执行

Pass-06

查看源代码发现没有进行大小写转换,利用大写后缀绕过

创建06.PHP文件,内容为<?php phpinfo();?>    上传成功

右键复制链接,打开新窗口访问,执行成功

Pass-07

查看源代码,发现没有对上传文件后缀未做去空格操作

创建07.php文件,内容为<?php phpinfo();?>   使用burp进行抓包,然后上传,在抓到的包里15行的最后07.php的后面添加个空格,然后放包。    ###给文件重命名给后缀添加空格也可以

返回浏览器可以看到已经上上传成功了。

复制链接,访问可以执行

Pass-08

查看源代码,对上传文件后缀名为做去点处理。

创建08.php.文件,内容为<?php phpinfo();?>   上传成功

右键复制链接,访问能成功执行

Pass-09

这题跟第五题是一样的通过  点+空格+点绕过

创建09.php. .文件,内容为<?php phpinfo();?>  上传成功

复制链接,访问能执行

Pass-10

查看源代码,这题跟第五题和第九题一样,通过 点+空格+点 绕过

创建10.php. .文件,内容为<?php phpinfo();?>     上传成功

复制链接可以访问执行

Pass-11

查看源代码

 一开始我创建11.php文件可以正常上传,但复制链接去访问时发现少了php文件后缀,突然想到是过滤,既然被过滤掉了,那就双写绕过重命名为11.pphphp,再次上传,复制链接成功访问执行

Pass-12

查看源代码,是白名单上传

这一关白名单,最终文件的存放位置是以拼接的方式,可以使用%00截断,但需要php版本<5.3.4,并且magic_quotes_gpc关闭。

save_path=../upload/的后面追加12.php    filename=“12.php”修改后缀为12.png,放包

 

上传成功

复制链接访问,要把12.php后面的都删掉

访问执行成功

Pass-13

查看编码,这一关跟13关是一样的,只是12题是get,这一题是post。

跟上一题一样,创建13.php文件。内容为<?php phpinfo();?>   使用burp抓包,19行改为png后缀,17行处添加13.php.

后面多出来的点是为了后面方便编译,上一关%00是URL编码,get会自行解码,post不会自行解码,所以这里我们要手动编码。

找到php后面的点,改为00,放包

 上传成功,复制链接

 

 访问成功执行

Pass-14

这一关涉及到的是图片马+文件包含

这我使用的图片马制作工具是edjpgcom,写入内容为<?fputs(fopen("shell10.php","w"),'<?php phpinfo();?>')?>

正常上传成功,右键复制链接,点击2.文件包含漏洞的链接

传参值是file,粘贴链接上去,一开始是完整链接无法包含,需要慢慢试,出现乱码就是文件包含成功

生成的php文件位置也需要进行尝试,上面可以看到文件包含漏洞的文件路径是在/upload-labs

所以生成文件肯定也在这目录下,访问执行成功

png,git后缀的上传方式和上面一样,改后缀就行。

 ​​​​​

Pass-15

查看源代码,发现和上一关差不多

编写好图片马,上传

正常上传成功

复制图片链接,使用文件包含漏洞执行图片马,可以看到上传的文件后缀被改为了jpeg,但没有影响执行

尝试执行生成的shell15.php文件,能执行成功

 

 

Pass-16

查看源代码,提示这一关要打开php拓展的php_exif模块才能上传

 

 

 没有打开php_exif模块是无法正常上传的

 接下来就和前面两关是一样的了,正常上传

 

复制图片链接,使用文件包含漏洞执行

 

访问图片马生成的shell16.php文件

 

Pass-17

因为二次渲染我还没弄明白,后面的暂时也不去尝试了。等技术更好一点再来尝试这个靶场。

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值