目标:在网站A上发布链接,在网站B上导致php,在网站A上导航cookie。
网站B:
<?php
session_start();
$cookie = $_COOKIE['PHPSESSID'];
file_put_contents("cookie.txt", $cookie . "\n", FILE_APPEND);
?>
目前我只收到了php所在的网站B的cookie。
答案 0 :(得分:1)
PHP是服务器端。 Cookie设置在客户端。在处理cookie时,有very strict rules个正确的Web浏览器需要遵守。具体来说是section 5.4:
<强> 5.4。 Cookie标头
用户代理必须使用等效于以下的算法 算法计算&#34; cookie-string&#34;来自一家饼干店和一家 请求URI:
- 醇>
让cookie-list成为cookie商店中的一组cookie 满足以下所有要求:
或者: cookie的host-only-flag是真实的,并且是规范化的 request-host与cookie的域名相同。
或者:cookie的host-only-flag是false并且是规范化的 请求 - 主机域 - 匹配cookie的域。
request-uri的路径路径与Cookie的路径相匹配。
如果cookie的secure-only-flag为true,则请求 - uri的计划必须表示&#34; secure&#34;协议(由...定义) 用户代理)。
如果cookie的http-only-flag为true,则排除 cookie,如果为&#34;非生成cookie字符串 HTTP&#34; API(由用户代理定义)。
[还有更多标准,但它们与此无关]
这意味着用户代理不会向站点B发送cookie,除非站点B是实际设置该cookie或站点A将该cookie设置为站点B可访问的站点。
简而言之,您无法读取其他网站设置的Cookie,除非他们让您或您正在利用浏览器漏洞(非常顽皮)