敏感的下沉是PHP漏洞吗?

3
我正在使用RIPS扫描我的服务器中的文件夹。报告出来了一些漏洞,其中一些漏洞是"用户输入到达敏感位置"。报告的行是定义变量的行。你可以在这里看到报告。有人知道我该如何解决这个问题吗?这不应该是正常的,为什么会被报告为漏洞?

1
这样的扫描器很可能会产生误报(例如在此处查找)。 “用户输入达到敏感接收器”似乎意味着:“RIPS认为变量X可能包含用户输入。在代码的这个点上,变量X中的用户输入可能被利用。”检查并仔细核对相应行中每个变量的定义,并跟随它们通过程序的路径。我想,如果程序无法找出变量的定义,它可能会给出同样的消息。 - Sumurai8
考虑以下情况,您的代码如下: - Bernard Nongpoh
3个回答

2
大多数看起来都像是误报警,因为实际上没有涉及到用户输入。大部分包含路径都是从一个函数构造出来的,这个函数可能会从数据库或配置文件中获取数据。
如果get_locale()接受HTTP请求的Accept-Language头信息并且未经过消毒处理,那么可能会出现问题。

有人能提供更好的答案吗? - r3wt

1

您可以在此处获取所有敏感汇总的详细信息:

http://awap.sourceforge.net/support.html#sanitization

有哪些针对PHP语言的敏感漏洞,并如何减轻这些漏洞。

您可以在此处阅读相关研究论文:

http://awap.sourceforge.net/papers/wap_dsn2016.pdf
http://awap.sourceforge.net/papers/WAP_IEEE_TR_Mar2016.pdf

希望这可以帮到您。

0

考虑以下情况,您有如下代码:

$name = $city = $email = $message = "";

RIPS 报告此代码为用户输入到达敏感汇聚点。

要解决这个问题,您可以应用以下技巧:

$name=test_input("");
$city=test_input("");
$email=test_input("");
$message=test_input("");

function test_input($data) {
    $data = trim($data);
    $data = stripcslashes($data);
    $data = htmlspecialchars($data);
    $data =  htmlentities($data,  ENT_QUOTES,  "utf-8");
    return $data;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接