Netcat 进入 apache 密码保护目录
Netcat into apache password protected directory
这是一个非常基本的问题,但我不知道怎么弄明白:
我正在使用 netcat 从网站获取 HTTP 响应。示例:
request="GET / HTTP/1.1"
echo -ne $request | nc 127.0.0.1 80
如果网站需要身份验证,我可以发送 POST 请求并在 form-data.
中包含 user/pass
但是 apache 密码保护的目录呢?假设这是在我的 apache.conf:
<Directory "/var/www/html/">
...
AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/etc/htpasswd/.htpasswd"
Require valid-user
</Directory>
当我访问 127.0.0.1 时,系统提示我输入 user/pass。浏览器将请求显示为“stalled”。在我提供凭据后,请求就完成了。如果我检查请求 headers,我在那里找不到我的凭据或任何其他表单数据。
我的问题是:这些凭据是如何发送的?如何使用 netcat 实用程序发送它们?
p.s.: 我对使用 netcat 并没有死心塌地,如果有另一个命令行实用程序可以以简单的方式实现这一点,那也很好。
尝试使用 CURL 而不是 netcat
它们在 Authorization
header 中发送,在 base64
中编码(Wireshark
auto-decodes 如果您展开 header).
您可以使用 curl
:
轻松指定用户名和密码
curl --user name:password localhost
您可以通过使用 -v
查看 header 来了解它是如何工作的,例如:
curl -sv --user name:password localhost
在 header 输出中,您将看到这样一行:
> Authorization: Basic bmFtZTpwYXNzd29yZA==
这是一个非常基本的问题,但我不知道怎么弄明白:
我正在使用 netcat 从网站获取 HTTP 响应。示例:
request="GET / HTTP/1.1"
echo -ne $request | nc 127.0.0.1 80
如果网站需要身份验证,我可以发送 POST 请求并在 form-data.
中包含 user/pass但是 apache 密码保护的目录呢?假设这是在我的 apache.conf:
<Directory "/var/www/html/">
...
AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/etc/htpasswd/.htpasswd"
Require valid-user
</Directory>
当我访问 127.0.0.1 时,系统提示我输入 user/pass。浏览器将请求显示为“stalled”。在我提供凭据后,请求就完成了。如果我检查请求 headers,我在那里找不到我的凭据或任何其他表单数据。
我的问题是:这些凭据是如何发送的?如何使用 netcat 实用程序发送它们?
p.s.: 我对使用 netcat 并没有死心塌地,如果有另一个命令行实用程序可以以简单的方式实现这一点,那也很好。
尝试使用 CURL 而不是 netcat
它们在 Authorization
header 中发送,在 base64
中编码(Wireshark
auto-decodes 如果您展开 header).
您可以使用 curl
:
curl --user name:password localhost
您可以通过使用 -v
查看 header 来了解它是如何工作的,例如:
curl -sv --user name:password localhost
在 header 输出中,您将看到这样一行:
> Authorization: Basic bmFtZTpwYXNzd29yZA==