实验室:Wbeplay体育能用吗eb外壳通过路径遍历上传
从业者
该实验室包含一个脆弱的图像上传功能。该服务器的配置以防止执行用户提供的文件,但是可以通过利用一个限制来绕过次要漏洞。
要解决实验室,请上传基本的PHP Web外壳并使用它来渗透文件的内容beplay体育能用吗/家/卡洛斯/秘密
。使用实验室横幅中提供的按钮提交此秘密。
您可以使用以下凭据登录到自己的帐户:维纳:彼得
解决方案
- 登录并上传图像作为您的头像,然后返回您的帐户页面。
- 在打bur,去代理> HTTP历史记录并请注意,您的图像是使用
得到
请求/files/avatars/
。将此请求发送给Burp Repeater。
在您的系统上,创建一个称为的文件exploit.php
,包含一个用于获取卡洛斯秘密内容的脚本。例如:
<?php echo file_get_contents('/home/carlos/secret');?>
- 将此脚本上传为您的头像。请注意,该网站似乎并不能阻止您上beplay体育能用吗传PHP文件。
- 在Burp Repeater中,转到包含的标签
获取/files/avatars/
要求。在路径中,用exploit.php
并发送请求。观察到,服务器没有执行脚本并返回输出,而是将PHP文件的内容返回为纯文本。
- 在Burp的代理历史中,找到
帖子 /my-account /avatar
用于提交文件上传并将其发送给Burp Repeater的请求。
在Burp Repeater中,转到包含的标签帖子 /my-account /avatar
请求并找到与您的PHP文件相关的请求主体的一部分。在里面内容分解
标题,更改文件名
包括目录遍历序列:
内容分解:form-data;名称=“ avatar”;文件名=“ ../ exploit.php”
- 发送请求。请注意,回应说
文件avatars/exploit.php已上传。
这表明服务器正在从文件名中删除目录遍历序列。
通过编码前向斜线来混淆目录遍历序列(/
)角色,导致:
文件名=“ ..%2fexploit.php”
- 发送请求并观察到消息现在说的消息
文件avatars /../ exploit.php已上传。
这表明该文件名是由服务器解码的。
- 在浏览器中,返回您的帐户页面。
- 在Burp的代理历史中,找到
get/files/avatars/..%2fexploit.php
要求。观察到卡洛斯的秘密在回应中得到了返回。这表明该文件已上传到文件系统层次结构中的较高目录(/文件
),随后由服务器执行。请注意,这意味着您也可以使用get /files/exploit.php
。
- 提交秘密以解决实验室。