【问题标题】:Burp suite: cannot intercept traffic from a docker image applicationBurp 套件:无法拦截来自 docker 映像应用程序的流量
【发布时间】:2019-10-25 20:49:10
【问题描述】:

有一个 Juice Shop 易受攻击的应用程序,它可以作为 docker 映像使用。我正在 Windows 10 上对其进行测试。 我能够使用以下命令运行该应用程序:

docker pull bkimminich/juice-shop
docker run --rm -p 3000:3000 bkimminich/juice-shop

现在 Burp 不允许在 127.0.0.1:3000 上设置监听器,大概是因为 docker 正在侦听该端口。我无法检查代理侦听器上的运行选项。

如果我先检查 Burp 上的侦听器,则 d​​ocker run 失败并显示:

docker run -p 127.0.0.1:3000:3000 bkimminich/juice-shop
docker: Error response from daemon: driver failed programming external connectivity on endpoint stupefied_poincare (003588db40943cf7607c7c5dc20ad9f51eaef7bc81c7cf470fa6a2d20fcbd398): Error starting userland proxy: listen tcp 127.0.0.1:3000: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

如何解决?

【问题讨论】:

    标签: docker proxy burp


    【解决方案1】:

    我认为您需要使用不同的 Port 启动 Burp 并设置 docker 以在您的 ~/.docker/config.json 文件中将其用作 proxy

    {
     "proxies":
     {
       "default":
       {
         "httpProxy": "http://THEHOSTIPFORBURP:3001"
       }
     }
    }
    

    【讨论】:

    • 我设置了docker代理后没有报错,但是Burp没有拦截。使用 docker 代理设置,应用程序应该仍然以docker run -p 127.0.0.1:3000:3000 bkimminich/juice-shop 启动,对吧?
    • 是的,我确实重新启动了它。
    • 检查容器是否到达代理或在容器内发出一些请求,看看 burp 是否可以看到它们
    • 您也可以尝试将其添加到您的 docker run 命令--env HTTP_PROXY "http://127.0.0.1:3001"
    • 我在 Windows 上,--env 选项不存在。也许我稍后会在 Linux 上尝试。关于容器内的请求,我收到此错误:/juice-shop $ wget localhost:3000 Connecting to 127.0.0.1:3001 (127.0.0.1:3001) wget: can't connect to remote host (127.0.0.1): Connection denied在 Alpine Linux 上,工具很简陋。
    猜你喜欢
    • 1970-01-01
    • 2020-11-02
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    相关资源
    最近更新 更多