webug 4.0 第十八关 文件上传(解析漏洞)-失败

(这关没做出来,姑且还是写下自己的思路)

感谢webug团队一直以来的更新维护!

webug是什么

WeBug名称定义为“我们的漏洞”靶场环境基础环境是基于PHP/mysql制作搭建而成,中级环境与高级环境分别都是由互联网漏洞事件而收集的漏洞存在的操作环境。部分漏洞是基于Windows操作系统的漏洞所以将WeBug的web环境都装在了一个纯净版的Windows 2003的虚拟机中。

Webug官网:http://www.webug.org

Webug 4.0百度云地址: https://pan.baidu.com/s/1euUY4UG43BuOjhPqkJBvcw 提取码: 3xpy

来源:226安全团队

微信号:safeteam226

开始打靶

解析漏洞就是你验证代码的盲点,我个人把它分为两类。

一种是代码的解析漏洞

比如你过滤php,我上传asd.Php

比如你把php替换为空,我上传asd.phphpp

比如你只替换一次php,我上传asd.phpphp

比如你检测后缀名是否为php,我上传asd.php.

二种是后台框架的解析漏洞

比如IIS6.0的一个解析漏洞:网站上传图片的时候,将网页木马文件的名字改成“*.asp;.jpg”,也同样会被 IIS 当作 asp 文件来解析并执行。例如上传一个图片文件,名字叫“vidun.asp;.jpg”的木马文件,该文件可以被当作 asp 文件解析并执行。

比如IIS 7.0/ Nginx <8.03的一个解析漏洞:在默认Fast-CGI开启状况下,黑阔上传一个名字为wooyun.jpg,内容为<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>’);?>的文件,然后访问wooyun.jpg/x.php,在这个目录下就会生成一句话木马 shell.php

这些解析漏洞会涉及到后台具体的框架及版本,所以如果你知道了这些信息的话,不妨百度谷歌看看有没有解析漏洞或者其他漏洞。

观察

首先还是直接把Ctrl+S保存到本地改代码,把前端拦截过了再进行下一步

1、上传正常图片wife.jpg,成功

2、上传一个简单的webshell(asd.php),失败
在这里插入图片描述
猜测是检测到1、内容有敏感字符 2、名字有敏感字符 3、两者皆有 4、conten-type类型错误

接下来就一一排除猜测

1、把wife.jpg改为wife.php,上传失败,排除检测内容

2、上传wife.jpg,抓包把wife.jpg改为wife.php,上传失败,排除检测conten-type

3、把asd.php改为asd.jpg,上传成功,确认只检测名字

如上,排除了猜测1、3、4,确认检测只检测名字。接下来获取更多检测信息。

4、上传php.jpg,上传成功,确认只检测后缀名

5、上传asd.php.,(注意,有个点号)上传失败

上传asd.php.jpg,上传成功

上传asd.jpg.php,上传失败,确认是根据点号划分,取最后一个点号的字符进行判断

至于后台是通过白名单还是黑名单来实现的,这个就没办法弄出来了(不过白名单不好过)

过拦截

1、大小写

上传asd.Php,失败

2、后缀名

上传asd.php2,失败

上传asd.php3,失败

上传asd.php4,失败

上传asd.php5,失败

上传asd.phtml,失败

看来真的是白名单呢,那我们就根据标题解析漏洞来下手。

我可以想到的可以利用的漏洞有如下两种形式:

一、上传的文件名为XX.jpg,但是可以被当作php执行。

打开F12查看上传文件的请求在这里插入图片描述
我们可以知道服务端容器为apache,则联想到了apache的多后缀名解析的漏洞。Apache默认一个文件可以有多个

以点分割的后缀,当最右边的后缀无法识别(不在mime.types内),则继续向左识别。比如shell.php.asd,asd后缀

无法识别而可以识别php,则交给php来处理这个文件。

但是这个为白名单检测,上传文件已经为能识别的jpg了,此条路不通

二、上传XX.php.jpg,或者其他千奇百怪的形式,能让后台过了白名单的后缀名检测,然后在写入文件时写入指定
的文件名,而不是上传文件名。

我在这一步困了很久,%00啊、::$DATA啊,也把大佬给的博客上的姿势试了遍都不行,心累。弄到最后的时候虽然能把文件名写为php后缀,但是里面没有任何内容。至于用了哪些姿势呢,就懒得写了,反正没成功
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
XXE(XML External Entity)注入是一种攻击技术,用于利用应用程序对外部实体的处理不当。通过在用户提供的输入中插入恶意的实体引用,攻击者可以读取本地文件、执行远程请求等。针对这种注入漏洞,应用程序应该对用户输入进行严格的过滤和验证,以避免恶意实体的注入。 Webug 4.0的XXE注入漏洞,我不清楚具体的细节和漏洞位置。通常,修补XXE注入漏洞的方法是通过禁用外部实体的解析或限制实体解析的范围。为了更好地保护应用程序免受XXE注入攻击,您可以参考以下几点建议: 1. 输入过滤和验证:对用户输入进行严格的过滤和验证,确保只接受合法的输入。可以使用白名单过滤或正则表达式等技术来限制输入。 2. 禁用外部实体解析:在解析XML时,禁用外部实体的解析。这可以防止恶意实体的注入。 3. 限制实体解析范围:如果应用程序需要解析实体,应该限制解析的范围,只允许解析特定的实体或特定的命名空间。 4. 使用安全的XML解析器:确保使用最新版本的XML解析器,并开启安全配置选项,以防止XXE注入攻击。 请注意,以上建议仅为一般性指导,具体修补漏洞需要根据应用程序和环境的特定情况来确定。建议您在修复漏洞之前,先了解Webug 4.0的文档、漏洞报告或咨询安全专家以获取更准确的信息和解决方案。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值