Netcat进入apache密码保护目录

时间:2015-10-10 11:02:09

标签: linux bash apache passwords netcat

这是一个非常基本的问题,但我无法弄清楚:

我正在使用netcat从网站获取HTTP响应。例如:

request="GET / HTTP/1.1"
echo -ne $request | nc 127.0.0.1 80

如果网站需要身份验证,我可以发送 POST 请求,并在表单数据中包含用户/传递。

但apache密码保护目录怎么样?假设这是在我的 apache.conf

<Directory "/var/www/html/">
  ...
  AuthType Basic
  AuthName "Authentication Required"
  AuthUserFile "/etc/htpasswd/.htpasswd"
  Require valid-user
</Directory>

当我访问 127.0.0.1 时,系统会提示我输入用户/通行证。浏览器将请求显示为“停滞”。在我提供凭据后,请求已完成。如果我检查请求标头,我就无法在那里找到我的凭据或任何其他表单数据。

我的问题是:这些凭据是如何发送的?如何使用 netcat 实用程序发送它们?

p.s。:我没有使用netcat,如果有另一个命令行实用程序可以用简单的方式实现,那也很棒。

3 个答案:

答案 0 :(得分:2)

它们以Authorization标头发送,以base64编码(如果您展开标头,Wireshark会为您自动解码它们。)

答案 1 :(得分:1)

您可以使用curl轻松指定用户名和密码:

curl --user name:password localhost

您可以使用-v查看标题来了解其工作原理,例如:

curl -sv --user name:password localhost

在标题输出中,您将看到如下所示的行:

> Authorization: Basic bmFtZTpwYXNzd29yZA==

答案 2 :(得分:0)

尝试使用CURL insted of netcat