这种类型的 URL 攻击的名称是什么?

信息安全 php 攻击 网址
2021-08-22 00:18:17

假设一个 PHP 页面接受 URL 路径作为 POST 参数(就像这个问题的答案):

$path = $_POST['url_path'];

file_get_contents('http://example.com' . $path);

恶意用户发布url_path@evil.com/stuff.html.

由于代码采用用户输入并在没有分隔符的情况下附加它以结束用户名部分(例如?/),$path因此最终为:

http://example.com@evil.com/stuff.html

这意味着用户名example.com访问http://evil.com/stuff.html

这种类型的攻击是否已经有一个特定的名称?我发现最接近的是Semantic URL attack,但这似乎更具语法性。它似乎是一种 URL 混淆,但是由于它在服务器上,并且在地址栏中对最终用户不可见,因此它是一种与网络钓鱼略有不同的攻击类型。

注意:该代码也容易受到其他类型的域操作的影响,例如附加一些东西来改变对另一个顶级域的解释(例如 POSTing .ukto change example.co)。因此,在此基础上,我将其称为一般字符串连接缺陷,而不是专门与 URL 相关的攻击——但是,我想把它放在地板上。

1个回答

服务器端请求伪造 (SSRF),服务器向用户控制的 URL 发出 Web 请求。MITRE 已将其指定为CWE-918