1

一位客户指出我的 WordPress 页面可能存在安全问题 - 他所做的是删除 WordPress 在请求标头中设置的 cookie,并查看他是否可以访问受保护的区域。他可以。所以为了重现这个问题,我做了一个健全性测试。

我编写了一些示例代码来测试 cookie 和 PHP 中请求标头之间的关系:

<?php
echo '<pre>'.print_r($_COOKIE, true)."</pre>";
setcookie("test", 5);
?>

我从 Chrome 中获取请求标头:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:test=5
Host:localhost:8888
Referer:http://localhost:8888/testcookies/
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36

并使用Restlet 的 DHC,我删除了带有 Cookie 的行,并将其发送到带有上述脚本的页面。不知何故,测试cookie的值仍然设置?为什么,它是一个安全漏洞吗?

4

1 回答 1

4

您可能没有在 Dev HTTP 客户端中明确设置 cookie,但 Chrome 会自动添加它们,因为您正在向具有 cookie 的站点发出请求。

这不是安全漏洞。这只是使用围绕浏览器构建的工具的结果。

您可能想尝试在 telnet 客户端中手动构建 HTTP 请求。

于 2014-01-14T10:30:24.923 回答