一项以未打安全补丁的Web服务器为目标、并以比特币作为奖金的公开攻防实验,在启动约19小时后被成功攻破。不过,在真正可被利用的页面补上之后,服务器仅用约3小时便告失守,再次引发外界对PHP安全风险的关注。
据日本媒体Gigazine 26日报道,安全研究人员James Pavur发起的黑客挑战“Steal My Bitcoin”,最终由参赛者KillaBoi攻破,挑战随之结束。该实验旨在验证,近期受到关注的PHP严重安全问题“PHP2Shell”是否可能被用于针对真实服务器的攻击。
主办方公开了一台未打安全补丁的PHP 8.4.26服务器,并要求参赛者在限定条件下入侵服务器,找出其中存放的比特币钱包私钥。
奖金最初约为500美元(约66.2万韩元),在后续追加捐助后升至约2000美元(约264.7万韩元)。不过,挑战范围仅限于Web应用和PHP运行环境,禁止针对服务器基础设施发动攻击,也不允许发起拒绝服务攻击。
挑战开始17个多小时后仍无人成功,一度引发外界对环境配置的质疑。安全研究人员LiveOverflow随后指出,服务器当时并未提供可运行PHP程序的页面。
在主办方补上相关页面后,约3小时内KillaBoi便完成入侵。整个挑战从开始到结束共持续19小时17分钟。
KillaBoi表示,其利用了PHP在内存耗尽场景下的处理缺陷,借此获取服务器内部信息,并进一步实现远程命令执行。相关攻击过程已公开在GitHub上。
不过,由于主办方在服务器中保存的是错误的比特币私钥,参赛者无法自行转走奖金。主办方在确认入侵成功后,最终向其支付了0.02511679BTC作为奖励。
这次实验表明,在特定条件下,PHP2Shell确实可能被用于攻破真实服务器。