7

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

HTTP://用户名:密码@服务器:端口

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

你知道任何可以提供帮助的工具吗?

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

WinHttpGetIEProxyConfigForCurrentUser 函数

WINHTTP_CURRENT_USER_IE_PROXY_CONFIG 结构

WinHttpGetProxyForUrl 函数

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

4

2 回答 2

4

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

于 2013-04-03T23:37:50.573 回答
0

迭代费尔南多桑切斯的回答和罗伯特的评论,您需要通过SSPI进行身份验证。就我而言,我使用此链接使用 NTLM 进行了连接

使用ntlm

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

还要部分回答您的问题,-U :使用curl 手册页的方法:

如果您使用启用了 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 版本

于 2020-03-09T21:27:37.170 回答