好的旧WinRAR多久会为我们提供帮助! 他会不时地无私地将我们的档案打包,然后再打包。 但是我们变老了,现在我想尝试一些更有趣的东西,对吗? 就在那时,他们发现了一个已有19年历史的漏洞,该漏洞允许将从存档中提取的恶意软件保存到任意位置。 让我们看看如何使用
NeoQUEST-2019在线阶段的任务编号9来完成此任务。
根据传说,我们有两台服务器。 第一个服务器(http://213.170.100.213:800/)允许您将礼物发送给Pandora,后者喜欢解开所有引起她注意的不明物体。 “礼物”格式是已知的:服务器仅下载rar存档。 下载任意的rar存档。 作为响应,我们看到以下内容:
Pandora不太可能对我们的档案感兴趣。 让我们尝试使用nmap了解有关服务器的更多信息:
现在我们知道第一个服务器:
Win + rar = WinRar! 可能是由该存档器处理存档的,在存档器中(更确切地说,在UNACEV2.DLL库中)他们发现了一个存在19年的漏洞。 无论用户在何处提取文件,都可以通过该“漏洞”将存档内容解压缩到任意目录中。 我们
在此处找到有关漏洞利用机制的详细说明。 我们继续进行存档的制作,该存档会
自己走动,并自行决定将其解压缩到何处。
首先,获取WinAceArchiver实用程序。 根据上面链接提供的说明,我们创建了一个包含hello.txt文件的原始存档。 在WinAceArchiver中,单击“创建”按钮,在“选项”选项卡上,将“压缩”设置为“存储”,然后返回到“选择”选项卡,选择hello.txt文件,指定保存存档的路径,最重要的是! -设置选项“存储完整路径”:
接下来,单击“添加”按钮并获取Hello.ace存档。 仍然需要稍微调整路径并更正校验和。 任何二进制编辑器和
acefile.py脚本都将帮助我们解决这一问题,这将有助于自己计算实际值。
要利用此漏洞,必须在文件的绝对路径之前添加一个卷标,存档器将删除该卷标。 然后,其余路径将被视为“安全”的相对路径。 因此,打开编辑器并修改路径,使其以
C:\ C:\开头。
那是:
它变成了:
现在使用acefile.py脚本检查校验和:
将值更正为当前值:
仅保留将存档重命名为Hello.rar。 做完了 检查潘多尔如何送出这样的礼物?
太好了! 期望值与现实相符,因此WinRar完全按照我们的需要处理了存档。 仍然需要找出一件事:我们需要哪条路?
根据传说,我们知道可以在第二台服务器(http://213.170.100.213:900/)上“查看”宝藏。 这最容易做到吗? 当然,通过运行php脚本,该脚本将产生(例如)列出服务器根目录。 我们确认我们的猜测:
太好了,服务器已准备好执行我们的php脚本! 现在该弄清楚该脚本的确切位置了。 到目前为止,我们知道服务器已在Windows上启动-因此,路径很可能以
C:\开头。 然后呢 了解有关宝藏服务器的更多信息。
在服务器上,nginx被解除。 当然,潘多拉(Pandora)的环境遵循了技术进步的最后一句话(在所有与归档无关的内容中),并使用了最新版本的nginx,即1.15.9(可以
在此处查看 )。 仍然要添加默认nginx配置文件中指定的服务器的根目录:
结果如下:
C:\ nginx-1.15.9 \ html 。 潘多拉这次会回答什么?
禁止访问目录...但是我们不能误会! 由于访问被拒绝,所以我们绝对在正确的轨道上,但是目录确实存在。 我们可能还不知道一些事情。 我们将继续使用目录扫描器收集有关服务器的信息:
是的,那里。 admin /目录听起来很有希望。 让我们尝试向Pandore发送ace档案,其中
C:\ nginx-1.15.9 \ html \ admin充当绝对路径:
成功! 最后,我们执行列出服务器根目录的脚本:
213.170.100.213 :800 / admin / test34852ED2-8996-4F81-A919-30B6FE9F03AB.php 。 该脚本可能看起来像这样:
<?php if ($handle = opendir('C:\nginx-1.15.9\html')) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { echo "$entry <br>"; } } closedir($handle); } ?>
结果如下:
尤里卡! 潘多里卡! 同样,让我们看看到底是什么样的“宝藏”
pandorica /以及期待已久的
key.txt ,它不再
难于阅读。 做完了!
在不久的将来,将发表文章,并对其余几个任务进行分析。 很快将举行NeoQUEST 2019! 所有新闻-活动
网站上 ,请不要错过!