Here is the default PAC file template from Zscaler cloud security solution:
![](data:image/png;base64,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)
Strictly speaking, this is not only Zscaler's default PAC template
error, but somehow this code snippet was spread widely across the
Internet.
For example, the same error migrated here:
http://itzecurity.blogspot.ru/2016/05/pac-file-recommendation-warnings-and.html
and here:
http://findproxyforurl.com/pac-code-snippets-examples/
and even here:
https://support.google.com/chrome/a/answer/3504945?hl=en
function FindProxyForURL(url, host) {I don't know how, but quiet obvious error crept here, highlighted with bold:
var privateIP = /^(0|10|127|192\.168|172\.1[6789]|172\.2[0-9]|172\.3[01]|169\.254|192\.88\.99)\.[0-9.]+$/;
var resolved_ip = dnsResolve(host);
/* Don't send non-FQDN or private IP auths to us */
if (isPlainHostName(host) || isInNet(resolved_ip, "192.0.2.0","255.255.255.0") || privateIP.test(host)) {
return "DIRECT";
}
/* FTP goes directly */
if (url.substring(0,4) == "ftp:") {
return "DIRECT";
}
/* Updates are directly accessible */
if (((localHostOrDomainIs(host, "trust.zscaler.com")) ||
(localHostOrDomainIs(host, "trust.zscaler.net")) ||
(localHostOrDomainIs(host, "trust.zscalerone.net")) ||
(localHostOrDomainIs(host, "trust.zscalertwo.net")) ||
(localHostOrDomainIs(host, "trust.zscloud.net")) ) &&
(url.substring(0,5) == "http:" || url.substring(0,6) == "https:")){
return "DIRECT";
}
/* Default Traffic Forwarding. Forwarding to Zen on port 80, but you can use port 9400 also */
return "PROXY ${GATEWAY}:80; PROXY ${SECONDARY_GATEWAY}:80; DIRECT";
}
var resolved_ip = dnsResolve(host);And here is the screenshot for sake of proof:
/* Don't send non-FQDN or private IP auths to us */
if (isPlainHostName(host) || isInNet(resolved_ip, "192.0.2.0","255.255.255.0") || privateIP.test(host)) {
The point being here is that privateIP.test should check resolved_ip variable against regexp instead of host. That's it. So the correct variant is here:
var resolved_ip = dnsResolve(host);
/* Don't send non-FQDN or private IP auths to us */
if (isPlainHostName(host) || isInNet(resolved_ip, "192.0.2.0","255.255.255.0") || privateIP.test(resolved_ip)) {
For example, the same error migrated here:
http://itzecurity.blogspot.ru/2016/05/pac-file-recommendation-warnings-and.html
and here:
http://findproxyforurl.com/pac-code-snippets-examples/
and even here:
https://support.google.com/chrome/a/answer/3504945?hl=en
Certainly, at the time you will check it, error may be fixed. But this is good sign that means my blog post was notified.
Hope this helps somebody.
Комментариев нет:
Отправить комментарий