1

OWASP ZAP を使用して、維持している Web サイトへの接続をプロキシしようとしています。ただし、プロキシは他のサイト (https と http の両方) で機能していますが、実際に分析したいサイトへの接続は、次のテキストを含む 502 - Bad gateway メッセージを返すだけです。

ZAP Error [java.net.ConnectException]: Connection refused: connect

Stack Trace:
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.<init>(Unknown Source)
    at sun.security.ssl.SSLSocketFactoryImpl.createSocket(Unknown Source)
    at org.parosproxy.paros.network.DecoratedSocketsSslSocketFactory.createSocket(Unknown Source)
    at org.parosproxy.paros.network.SSLConnector.createSocket(Unknown Source)
    at org.apache.commons.httpclient.HttpConnection.open(Unknown Source)
    at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(Unknown Source)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(Unknown Source)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
    at org.parosproxy.paros.network.HttpSender.executeMethod(Unknown Source)
    at org.parosproxy.paros.network.HttpSender.runMethod(Unknown Source)
    at org.parosproxy.paros.network.HttpSender.send(Unknown Source)
    at org.parosproxy.paros.network.HttpSender.sendAuthenticated(Unknown Source)
    at org.parosproxy.paros.network.HttpSender.sendAndReceive(Unknown Source)
    at org.parosproxy.paros.network.HttpSender.sendAndReceive(Unknown Source)
    at org.parosproxy.paros.core.proxy.ProxyThread.processHttp(Unknown Source)
    at org.parosproxy.paros.core.proxy.ProxyThread.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

ブラウザ経由でリクエストしている URL は、OWASP ZAP を介してプロキシされていない場合に正常に機能し、ZAP によってキャプチャされたリクエスト ヘッダーは、Fiddler リクエストに Raw としてコピー アンド ペーストされた場合にも正常に機能します。これらは次のとおりです。

GET https://nottellingyou.net/ HTTP/1.1
Host: nottellingyou.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0

参考までに、

1.) ZAP にプロキシ チェーンが設定されていないか、私の PC / ブラウザ / Fiddler 設定のどこかに設定されていません。

2.) ZAP プロキシは、デフォルトのアドレス localhost:8080 で実行されています。

3.) ZAP 動的証明書が保存され、テスト ブラウザー (Firefox Developer Edition) にインポートされました。

ZAP が他のサイトで機能していることを考えると、ここで何が問題なのかについて私はレンガの壁にいます。誰か助けてもらえますか?

4

2 に答える 2

1

実行可能な解決策を偶然見つけました。

ZAP で表示されていたリクエストが、ブラウザから受信したリクエストなのか、それとも転送されたリクエストなのか (またはその両方) わからなかったからです。したがって、リクエストが Fiddler で機能していることを確認することが有効なテストであるかどうかはわかりませんでした。

そこで、ZAP がすべてのリクエストを同じマシン上の Fiddler に転送するように設定して、何が送信されているかを正確に確認できるようにしました。

これを行うとすぐに、Web サイトにアクセスして、Fiddler と ZAP の両方で要求/応答を記録することができました。

これに基づいて、チェーンのどこかで ZAP からのリクエストがセキュリティ/ファイアウォール ルールによってブロックされているという Psiinon の提案に同意します。私はこれらを制御することができず、ネットワーキング担当者から漠然としたうなり声以外のものを得るのに苦労しているため、実行可能なソリューションを続行します。

于 2016-11-24T11:09:27.100 に答える
1

デフォルトの ZAP ユーザー エージェントをチェックするなど、明らかに ZAP をブロックする特定のルールを持つファイアウォールを見てきました。その特定の問題がここに当てはまる可能性は低いですが、それでも同様の問題が発生する可能性があります. ヘッダーを微調整しながら、ZAP 内からリクエストを再送信してみてください。

もう 1 つの可能性は、DN などの ZAP ルート証明書で何かをチェックすることです。独自のルート証明書を ZAP にインポートできます。ZAP とは非常に異なる設定を使用して試してみてください。それでもうまくいかない場合は、ZAP ユーザー グループに連絡してください。私たちはさまざまなことを試し続けます - これに対する解決策があるでしょう ;)

于 2016-11-24T09:17:22.997 に答える