文件上传1~11入坑

系列文章目录

文件上传漏洞

前言

最近在学代码执行,然后孙胜利老师的死亡六十集也快看完了,不过昨天晚上学长正好讲了文件上传漏洞,据说这个也比较好学,所以对这个赶紧学习做个总结!
在这里插入图片描述

一、文件上传漏洞是什么

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。常见场景是web服务器允许用户上传图片或者普通文本文件保存,而用户绕过上传机制上传恶意代码并执行从而控制服务器

二、靶场训练

第一关:

先上传以一个png图片,然后用burp suite拦截(这里说一个问题,burp suite不能拦截本地网站127.0.0.1的问题,这里把我学习到的博客地址放在这里)
https://blog.csdn.net/weixin_45396639/article/details/104379312
在这里插入图片描述
把jpg改为php,再放包。
在这里插入图片描述
成功上传

第二关:

在这里插入图片描述
我靠,啥是MIME,网址:
https://zhidao.baidu.com/question/4107423.html
继续burp suite抓包,然后继续放包,
在这里插入图片描述
上传成功

第三关:

在这里插入图片描述
发现不让上传php文件,大写绕过,如果改成php1,试一下行不行
先试试大写,
在这里插入图片描述
发现不行,试一下php1
在这里插入图片描述
上传成功

第四关:

在这里插入图片描述
直接一看,好家伙!吓我一跳在这里插入图片描述
apache解析漏洞实现黑名单绕过
解析漏洞,在Apache 2.x中存在一个解析漏洞,如果我们将 lyshark.php 修改为 lyshark.php.rar 这样的格式,正常情况下会弹出文件下载提示框,但是由于Apache 2.x存在解析漏洞所以,会默认将其当作PHP脚本文件进行展开并执行。

Apache在解析文件时有一个原则,当碰到不认识的扩展名时,会从后向前解析,直到碰到认识的扩展名为止,如果不认识则会爆露其源代码,此时我们 如果上传 lyshark.php.rar 的话,很明显.rar 他不认识,则会先前递增,会看到.php 默认就会使用.php 解析啦。

第二种方法

重写文件解析规则绕过
上传一个名为.htaccess文件
在这里插入图片描述
Apache中当上传到文件全部被解析为.jpg的后缀时。可以尝试一下后缀为.htaccess的文件。

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

代码的含义是将上传的文件后缀名为.jpg格式的文件以 php格式来解析文件成功绕过在这里插入图片描述

第三种方法
将后缀改成php . . (注意 改成php… 不行哦)
在这里插入图片描述
然后forward
在这里插入图片描述

第五关:

在这里插入图片描述
查看源码,发现比上一关多了一个.htaccess过滤,咱们还用php . . 绕过
在这里插入图片描述

第六关:

在这里插入图片描述
在这里插入图片描述
并且还没有让输入的全变成小写
发现没有pHP绕过,咱们就试一试
在这里插入图片描述

第七关:

在这里插入图片描述

在这里插入图片描述
发现没有删除 .
就还是 php . .
在这里插入图片描述

第八关:

在这里插入图片描述
在这里插入图片描述
发现还是没用禁用 .
在这里插入图片描述

第九关:

在这里插入图片描述
在这里插入图片描述
发现并没有禁用:: $ DATA (:: $ DATA 利用 Windows文件流特性绕过 构造8.php::$DATA 会被保存为8.php) 主要是因为下面这一串代码,前几关有,这一关没有!


  $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA

在这里插入图片描述
也可以继续咱们的 php . . 绕过
在这里插入图片描述

第十关:

在这里插入图片描述
在这里插入图片描述

发现这里还是没有禁用小数点,可以继续用 php …
也可以利用Apache 构建 10.php.aaa Apache从右往左解析,解析不了aaa,最后得到的结果就还是php

第十一关:

在这里插入图片描述
之前都是禁止上传,这一关就变成了从文件名中去除,所以这一关咱么就试试双写绕过 pphphp
在这里插入图片描述

总结

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值