Zim*_*uba 2 authentication telnet
我正在尝试使用基本身份验证访问httpbin.org。我必须输入用户名和密码。在命令终端(linux)中使用 telnet 我至少执行:
telnet httpbin.org 80
HEAD /basic-auth/user/passwd HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
它给出了 401 状态代码(未经授权)。
我现在想以某种方式使用用户名和密码访问它(在 Base64 中,输入为用户名:密码)。我以什么方式做到这一点?我试过了(在 401 状态码之后)
HEAD /username:password HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
(但这给出了 404 状态代码)
HTTP 基本身份验证同时使用用户名和密码的 base-64 编码。对于 的用户名testuser和密码hunter2,您将采用字符串testuser:hunter2和 base64 编码。那会给你字符串dGVzdHVzZXI6aHVudGVyMg==
你问,你如何得到这种编码?大多数 POSIX 系统都已openssl安装,在这种情况下,您可以使用echo -n "testuser:hunter2" | openssl base64 -base64. 该-n是超重要的,否则您还可以包括newline在编码,这将给你一个不正确编码的字符串(如口令不以新行字符结尾一般)。
然后您可以通过以下方式进行交易telnet:
telnet hostname.example.com 80
GET / HTTP/1.1
Authorization: Basic dGVzdHVzZXI6aHVudGVyMg==
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7115 次 |
| 最近记录: |