Trailing-Dot Hostname in Redirect Silently Strips Client Certificate and Auth Credentials
该报告还没有中文解读。
原文摘录
摘自原文(4970 字符中的一小部分)
When curl follows a redirect where the `Location` header contains a hostname with a trailing dot (e.g., `https://example.com./path`), `Curl_peer_equal()` in `peer.c:321-330` compares the original hostname (`example.com`) against the redirect target (`example.com.`) using `curl_strequal`, which does …
原文中的代码
CURL *easy = curl_easy_init(); curl_easy_setopt(easy, CURLOPT_URL, "https://localhost:18443/page1"); curl_easy_setopt(easy, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(easy, CURLOPT_SSLCERT, "client.pem"); curl_easy_setopt(easy, CURLOPT_SSLKEY, "client.key"); curl_easy_setopt(easy, …
默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @azraelxuemo · 版权归作者与 curl 所有