获取Windows代理用户名/密码

时间:2012-11-11 19:12:39

标签: windows proxy credentials

我可以访问预配置的Windows XP 32位工作站。 它在防火墙下,并且在外面它使用http代理服务器。 要获取代理设置,我需要主机,端口,用户名和密码。

  

http:// username:password @ server:port

我能找到代理网址和端口(来自PAC - 自动配置文件), 但我不知道如何获得用户名/密码。有没有办法以某种方式阅读它?至少用户名?我可能会获得管理员权限。

你知道任何有用的工具吗?

我只发现了一些关于获取代理配置连接的方法的MS文档,但我不知道如何确定提供的凭据是什么:

WinHttpGetIEProxyConfigForCurrentUser function

WINHTTP_CURRENT_USER_IE_PROXY_CONFIG structure

WinHttpGetProxyForUrl function

我也找到了这个lib,但它更适合解析PAC: http://code.google.com/p/pacparser/

2 个答案:

答案 0 :(得分:3)

在Windows中,您无法获取密码。 要获得连接抛出代理,您必须使用SSPI,检查libcurl,您可以获得连接的套接字抛出代理,使用enable-sspi和openssl构建它。

答案 1 :(得分:0)

根据费尔南多·桑切斯(Fernando Sanchez)的回答和罗伯特(Robert)的评论,您需要通过SSPI进行身份验证。就我而言,我已使用this link

使用NTLM连接

使用使用ntlm:

curl.exe --proxy <proxy_name>:<proxy_port> --proxy-ntlm -U : https://www.google.com

也可以部分回答curl man page-U :的意思:

如果您使用支持Windows SSPI的curl二进制文件并进行协商 或NTLM身份验证,则可以告诉curl选择用户名 和环境中的密码,方法是指定一个冒号 此选项:“ -U:”。

您可以从Windows注册表(regedit)获取代理名称和端口。引用罗伯特的评论:

[HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet 设置]

可以使用REG_SZ ProxyServer手动显示,也可以使用REG_SZ AutoConfigURL = https://<configuration_url>使用自动配置脚本显示

如果上面的命令以Failure when receiving data from the peer失败,则可能是您发布的没有NTLM,SSPI或OpenSSL。尝试使用最新的curl release