Anonymous Intelligence Signal
Semgrep 扫描发现关键 SSRF 漏洞:用户输入直通 curl_init,服务器面临内部网络攻击风险
Semgrep 安全扫描工具在一段 PHP 代码中检测到两处严重的服务器端请求伪造(SSRF)漏洞。核心风险在于,用户完全可控的输入数据(`$name` 和 `$code`)未经任何验证,直接传递给了 `curl_init()` 函数。这意味着攻击者可以操纵这些参数,迫使服务器向内部网络服务或任意外部主机发起请求,从而可能探测内网结构、访问受保护的内部系统,或作为攻击跳板。
漏洞位于 `example-codes/index8.php` 文件的第13行和第14行。代码片段显示,`curl_init($name);` 和 `curl_init($code);` 直接使用了来自用户的变量。这种模式是典型的 SSRF 漏洞模式,因为应用程序信任了外部输入并将其用于发起网络请求,而未检查目标URL是否合法或是否指向敏感的内部地址。
此类漏洞对部署该代码的服务器构成了直接威胁。成功利用可能允许攻击者绕过防火墙,与服务器所在内网中的数据库、管理后台或其他未公开的服务进行交互。对于托管在云环境或具有复杂内部网络的系统,风险尤其显著。开发团队需要立即对用户输入实施严格的验证和过滤,例如使用白名单机制限制可访问的URL模式,或确保不向内部IP地址段发起请求。