问题标签 [man-in-the-middle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
113 浏览

security - 是否可以与用户建立安全连接,即使重定向到 HTTPS?

所以这是一个有点宽泛的问题,我知道,但我希望比我更聪明的人能提供一个总结答案,帮助我总结 SSL 的所有细节。

最近我看了一段 Moxie Marlinspike 在 BlackHat 做演讲的视频,一小时结束后,我心想,“我做什么并不重要。对于一个坚定的黑客来说,总有办法进来的。” 我记得他的最后一个示例,在该示例中,他演示了即使在用户输入 HTTP 地址直接转到 HTTPS 时使用重定向,攻击者仍有机会通过 MITM 插入自己。

因此,如果浏览器始终默认使用 HTTP,而用户很少直接在地址栏中输入 HTTPS 地址,那么监听对银行 X 网站的访问的攻击者将始终有机会在 HTTP -> HTTPS 重定向期间获得控制权。我认为他们必须在同一个网络上,但这并不是什么安慰。似乎 Marlinspike 的观点是,除非我们直接将 HTTPS 作为标准而不是替代方案,否则这将始终是一个问题。

我是否正确理解这一点?如果攻击者可以在过渡期间使用 MITM 来获得控制权,那么重定向到 HTTPS 的意义何在?有没有人知道可以采取哪些预防措施来保护自己?通过混淆 HTTPS 链接的 javascript 重定向(因此它们不能在传输过程中被剥离)会有所帮助吗?任何想法将不胜感激!

0 投票
1 回答
2291 浏览

ubuntu - ettercap过滤不起作用

我不能使用 ettercap 过滤器。我什至在写我能想到的最简单的过滤器:

但即使这样也行不通。当我使用 etterfilter 编译它并运行时:

sudo ettercap -F /tmp/filter.ef -T -M arp -i wlan1 /192.168.1.6/ //没有打印味精。通过数据包可视化,我确实看到了 TCP 数据包,但即使 ettercap 说“从 /tmp/filter.ef 加载的内容过滤器”,过滤器似乎也无法正常工作。

为了解决这个问题,我尝试启用 ip_forward,并尝试删除“#”登录,/etc/etter.conf因此它将使用 iptables 作为 redir_command(第 168-169 行)

我也试过把它放在 askubuntu.com 上

https://askubuntu.com/questions/251866/ettercap-filtering-doesnt-work

你知道如何使过滤工作吗?

我正在ettercap NG-0.7.4.2使用Ubuntu 12.10

0 投票
5 回答
84184 浏览

security - SSL 和中间人的误解

我已经阅读了大量与此问题相关的文档,但我仍然无法将所有部分放在一起,所以我想问几个问题。

  1. 首先,我将简要描述我所理解的身份验证过程,因为我可能在这方面犯了错误:客户端启动连接,服务器使用公钥、一些元数据和数字签名的组合来响应受信任的权威。然后客户端决定她是否信任服务器,用公钥加密一些随机会话密钥并将其发回。此会话密钥只能使用存储在服务器上的私钥解密。服务器执行此操作,然后 HTTPS 会话开始。

  2. 所以,如果我在上面是正确的,那么问题是在这种情况下中间人攻击是如何发生的?我的意思是,即使有人用公钥拦截了服务器(例如 www.server.com)的响应,并且有办法让我认为他是 www.server.com,他仍然无法解密我的会话密钥没有私钥。

  3. 说到相互身份验证,是否完全与服务器对客户端身份的信任有关?我的意思是,客户端已经可以确定她正在与正确的服务器通信,但是现在服务器想要找出客户端是谁,对吗?

  4. 最后一个问题是关于相互认证的替代方案。如果我在所描述的情况下充当客户端,如果我在 SSL 会话建立后在 HTTP 标头中发送登录名/密码怎么办?正如我所看到的,无法拦截此信息,因为连接已经安全,服务器可以依赖它来识别我。我错了吗?与相互身份验证相比,这种方法的缺点是什么(只有安全问题很重要,而不是实现复杂性)?

0 投票
1 回答
467 浏览

apache - 使用带有 Apache 的 mod_proxy 操作 HTML,例如删除广告

现在这只是一个技术挑战,但基本上我想做以下事情:

创建一个基于 web 的反向(网关)代理mod_proxymod_proxy_html它不仅重写 HTML url 以匹配代理的主机名,而且重写或操作正在代理的 HTML。

这种对“中间人”网关代理的操作将允许人们做各种事情,例如:

  • 移除广告
  • 将文本从一种语言翻译成另一种语言
  • 以其他方式破解或“改进”原始网站

当然,它也可能被用于很多不好的事情,但这超出了这个问题的范围。

我知道它会mod_proxy_html解析原始 HTML 以重写所有 URL,但它是否也允许我编写自己的代码来评估和操作正在解析的 HTML?或者还有其他模块吗?

或者,是否有可用的反向代理可以做到这一点?我愿意适应任何适合此目的的语言。

0 投票
1 回答
380 浏览

wcf - 如何保护对 Web 服务的调用不被看到

我正在使用 silverlight 5 和 WCF .. 并且该站点使用 HTTPS 保护。但是,如果我使用 fiddler,我可以在标题中看到: GET /ClientBin/XXXX-Web-MyService.svc/binary/GetUsers

如果我把它直接放在我的域之后:https ://www.mydom.com/ClientBin/XXXX-Web-MyService.svc/binary/GetUsers

它将从表格​​用户那里下载所有数据。我怎样才能隐藏和保护这些信息不被看到!!没有使用 SSL 吗?如果我使用 https,为什么这仍然可见!?

谢谢你。

编辑:我最初的问题是一种“未受过教育”的问题,对此我深表歉意,

我找到了有关该主题的更多信息并进行了更多研究。在这个关于 SO 的 Q 中,解释了为什么提琴手能够解密和查看通过 https 发送的请求和响应。
如果提琴手 2 可以解密所有通过 HTTPS 的调用,那么 SSL 有什么意义?

为了让事情变得更加困难,这个问题的常见解决方案是使用 “证书固定” ,这需要使用 System.Net.ServicePointManager,它不包含在 System.Net 命名空间的 silverlight 实现中。

所以在这里我坚持使用 SSL 证书。任何具有 Web 调试基本知识的人都可以“破解”我为此付出的代价。

0 投票
1 回答
188 浏览

android - 是否可以使用 SSL 证书作为中间 CA 证书?

我正在 Android 上设置 MITM 测试环境,我需要伪造假证书,然后将其呈现给应用程序。为了实现这一点,我需要我的 CA 是 Android 的受信任的,这意味着我必须手动安装我的 CA 证书。

我想避免这个特定的步骤。

我正在考虑获得由 GoDaddy 或 GeoTrust 颁发的正确(= 购买)证书,它们都受 Android 信任。但是我必须使用这个证书作为伪造的中间 CA。

是否可以?有没有我没有考虑到的逻辑/实际限制?

0 投票
1 回答
4269 浏览

android - Android 防止 SSL 的中间人攻击

我在我的 Android 应用程序中使用 HTTPS 与我自己的 API 进行通信。当我进行数据包嗅探时,我看不到任何好的信息。但是,当我使用 Fiddler2 之类的软件在我的 Android 上安装受信任的证书时,我可以清楚地看到我所有的 HTTPS 调用,这很危险。

问题与这个人非常接近,但在 Android 而非 iPhone 中: 从 fiddler 隐藏 iOS HTTPS 调用

我正在使用 loopj 库进行 https 调用:Android Asynchronous Http Client http://loopj.com/android-async-http/

我该如何处理这样的漏洞?(我知道如何在概念上处理它,但我需要示例代码)

0 投票
0 回答
378 浏览

filter - 使用 ettercap 更改请求参数

我正在尝试修改 HTTP GET 方法的请求参数,但是我编写的过滤器没有按预期工作。我什至不确定这是否可以使用 ettercap。到目前为止,我编写了以下过滤器:

即使 URL 中出现“过期”,也不会打印该消息。我怀疑如果模式包含在消息正文中,它会起作用,但我需要修改 URL 部分。是否可以使用过滤器或任何其他 Ettercap 机制来实现?

0 投票
1 回答
86 浏览

security - 同域 JSONP 安全性

以下场景在同一个域内(不是跨域)对中间人攻击的脆弱性如何?

不安全页面上的表单将包含敏感数据(在查询字符串中)的 JSONP 请求提交到安全页面。

0 投票
1 回答
1942 浏览

ssl - 如何使用 socat 将传输的数据分叉到脚本中?

我想用socat分析客户端和服务器之间传输的数据。我已经设法使用以下命令将socat设置为中间人:

虽然我可以看到传输的数据,但我想将其发送到脚本以进行处理以供以后分析。

有谁知道解决方案,以便我可以将每个传输的数据包发送到脚本?