upload 1--10题解题步骤

一.

首先,我们选择一个.php的文件上传

迅速弹出

大概率是前端验证不通过

所以我们查看前端的代码,发现了这样一串代码:

我们将前端验证的函数checkfile()删除

重新上传代码,发现

上传成功了!

二.我们经历了前端验证,现在就要开始后端验证了,而后端验证很多都可以改文件名跳过,

这里主要有:MIME白名单突破中的Content-Type验证

数据类型的黑名单验证突破又主要是例如:大小写绕过,  .号绕过,  空格绕过,  ::$DATA绕过,  双写绕过等

我们来看第二题:我搞了一个文件名叫这个:

方便后面绕过

第二题我们先将我们的文件传上去试试,发现传输类型不对,我们查看提示发现是数据类型不通过,可能原因是后端出了问题.这时,我们可以通过burp将文件拦截出现 :

这里content-type判定的不符合我们的要求,那我们就将其改一下,因为他希望我们上传图片

发送

发现成功了

三.

发现黑名单没有那麽多,所以直接把后缀改为php3 

这里需要改一些配置才可以让浏览器解析php3文件

我们需要在phpstudy的http.conf文件添加如下一行

AddType application/x-httpd-php .php .phtml .php5 .php3

四.

上传.htaccess文件,然后更改配置将AllowOverride None改为AllowOverride ALL

.htaccess文件中写这样一串代码

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

意思就是将文件名中的jpg以php运行

然后我们将文件名改为.jpg,里面内容还是一句话木马,先上传.htaccess文件,再将.jpg文件上传,

复制图像链接用蚁剑链接

成功!

五.

 可以通过大写绕过

 

六.

可以看见黑名单上基本上禁止完了

 但是我们可以操作后缀更改,上图中就没有对空格的去除所以我会在burp中加上一个空格

但是我的版本不合适,所以上传不上去 需要5.2.17版本

七.

 明显,缺少了加  .  号这种方法

所以,我改一下上传,

 

成功!

八. 我们发现没有::$DATA检查

,所以我们直接加一个

上传

 由于::$DATA的特殊性,上传后,文件中的::$DATA会被删除,所以我们直接打开图片会出现403找不到文件错误,

所以我们删除url中的::$DATA字符就可以了

 

成功!

九.

我们发现全都检查了,我们还可以 . . 的方法,因为他们只检查一次

 

上传成功!

十.

这里的str_ireplace函数会`删除文件中的黑名单字符删除为空,由程序可知,只删除了一次,

所以双写后缀即可绕过

 

 

成功! 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值