第4章

他们以为,把服务器藏在一个小城市的、不知名的机房里,就万无一失了。

他们不知道,他们这种业余的部署方式,在我的眼里,简直就像一个没穿衣服的美女,躺在我的面前。

3 潜入“金库”

我没有立刻尝试去攻击这个数据库。我需要一个合法的、能拿到台面上说的“敲门砖”。

我回到了那封邮件。在邮件的末尾,有一个不起眼的链接:“如您已支付赔偿金,请点击此处上传凭证”。

我点击了这个链接。

它跳转到了一个制作极其粗糙的网页,页面上只有一个简单的文件上传框和一个提交按钮。

我打开浏览器的“开发者工具”(Developer Tools),切换到“网络”(Network)标签页。然后,我随便上传了一张图片,并点击了提交。

在“网络”标签页里,我清晰地看到了这次上传操作,向那台宿迁服务器发送的一个HTTP POST请求。

我点开这个请求的详细信息,在“请求头”(Request Headers)里,我看到了我想要的一切。 包括他们的服务器架构(Nginx + PHP)、PHP的版本号、甚至是处理这次上传请求的后台PHP脚本的文件名——upload_receipt.php。

更重要的是,在这个upload.php脚本向上层目录跳转的过程中,我捕捉到了一个极其微小,但却致命的“目录遍历漏洞”(Directory Traversal Vulnerability)。

这是一个非常古老,但却依然有效的漏洞。利用它,我可以通过构造特殊的URL,访问到服务器上,本不该被外部访问到的文件。

我没有去做任何非法的“脱库”行为。我只需要拿到一样东西,就足以让他们万劫不复。

我构造了一串URL,指向了他们网站配置文件,通常是config.php或者.env。

尝试了十几次后,我的浏览器屏幕上,跳出了一段代码。

那段代码里,清晰地记录着他们