IT技术博客大学习 共学习 共进步

wget 自动发送用户名密码

qingbo.blog 2012-03-04 17:27:02 浏览 3,384 次

    有个 Server 需要 Basic Auth 认证,但是我发现在它自己上面有一个任务会通过 wget 访问一个自己的 URL,调用的过程并没有提供用户名和密码,竟然可以成功访问!

    一开始我以为是 Apache 里面配置的访问规则是对本地访问不需要认证,但是并非如此。bash alias? 也不是。加上 --debug 参数调用 wget,发现它确实在访问本机的这个域名时会加上 Authorization 这个 header, 而访问其它域名的时候则不加。

    最终通过 strace 发现它会打开 $HOME/.netrc 文件,原来秘密就在里面。中间看了半天 manual,只看到它会读取 /etc/wgetrc, $HOME/.wgetrc, 没注意到还会读这个文件。我不太喜欢这种做法——谈不上安全,又不容易维护。

    参考:

  • .netrc
  • wget
  • 建议继续学习

    1. wget 的使用 (阅读 5,622)
    2. 其实你不懂wget的心-01 (阅读 4,404)
    3. 其实你不懂wget的心-04 (阅读 4,183)
    4. 其实你不懂wget的心-05 (阅读 3,863)
    5. 其实你不懂wget的心-02 (阅读 3,645)
    6. 其实你不懂wget的心-03 (阅读 3,524)
    7. Linux下同时wget多个文件 (阅读 3,184)
    8. wget中文使用手册 (阅读 2,602)