问题标签 [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 投票
1 回答
10903 浏览

python - 中间人用 scapy 攻击

scapy我正在尝试在测试网络上进行中间人攻击。我的设置是这样的: 在此处输入图像描述

现在你明白了,下面是代码:

此代码在VM2.

Arp 中毒工作正常,我检查了两台机器的 arp 缓存,并且行为符合我的预期。但在里面routep,我修改了 src 和 dst mac 地址并尝试将接收到的数据包发送到适当的主机,scapy 给出警告:

我在wiresharkon中看到VM2,修改后的数据包没有离开机器。为什么会这样?我错过了什么吗?

0 投票
3 回答
2131 浏览

packet-sniffers - 为什么可以进行数据包嗅探?

我无法理解网络上的任何人如何使用数据包嗅探器。

我对网络的工作原理知之甚少,但让我这样说吧:假设邮递员过来把包裹送到我家门口。为什么我能够通过他所有的其他包裹来步枪并环顾四周?邮递员不应该只把属于我的包裹递给我吗?

0 投票
0 回答
224 浏览

ios - Air for iOS 避免中间人攻击

在 iOS 版 Air 中,我试图找到一种方法来标记可能的中间人攻击何时发生。

默认情况下,每当您尝试连接到具有无效证书的 SSL 站点时,都会收到错误消息:

“无法验证与此站点的安全连接。您还想继续吗?

您正在查看的证书与您尝试查看的站点的名称不匹配。”

我不想显示这个提示,然后禁用网络功能。

我开始尝试使用网络监视器,但它会给出提示,就像运行单独的 URL 请求来测试连接一样。

我终于遇到了“SecureSocketMonitor”,它在 Flash 环境中运行时似乎可以完成我需要它做的事情,但是一旦我编译成 Air for iOS 应用程序,它似乎根本不起作用。

有谁知道我如何在不显示该提示的情况下检测到无效的 SSL 证书?

0 投票
0 回答
1900 浏览

windows - 将主机添加到来自不同子网的 Cain 和 Abel 嗅探器?

我正在尝试使用 Cain & Abel 记录我的域控制器之间的网络流量,该域控制器是 Windows 2008 服务器(机器 A)和 Windows XP 计算机(机器 B)。它们都作为虚拟机安装在我最近购买的 ESXi 服务器上,我没有将它们放在 NAT 上,而是配置了 ESXi 以使它们都桥接到我的网络。

机器 B 位于名为“test.local”的域中,IP 为:

机器 A 托管域“test.local”,其 IP 为:

我的目标是检测机器 B 发送到机器 A 的哈希值。

我能够使用嗅探器 + ARP Poising 技术记录流量。但是,我喜欢学习如何逆向工程和破解事物,然后尝试编写一些东西来“修补”或“防止”它,因为我的一个朋友早些时候告诉我,他曾使用 Cain 和 Abel 来记录相同的东西东西,但是当域控制器的 IP 类似于:

机器 B 的 IP 为:

如您所见,有不同的子网。知道这是可能的,我将如何对我的子网上的主机进行攻击,但域控制器不是?我知道它是可访问的,因为运行“nslookup”将其设置为默认服务器,并且跟踪路由和 ping 成功。我也可以对它进行 RDP。

任何帮助表示赞赏,谢谢!

0 投票
2 回答
2602 浏览

security - HSTS 标头真的有助于抵御 MITM 攻击吗?

我在 https://www.owasp.org/index.php/HTTP_Strict_Transport_Security#Browser_Support阅读了 OWASP 的 HSTS 备忘单, 还观看了相关视频: https ://www.youtube.com/watch?v=zEV3HOuM_Vw

但我仍然不明白这在用户输入 http://site.com 的情况下如何帮助抵御中间人攻击。OWASP 声称它有帮助。

让我们想象以下场景:中间人从受害者那里获得请求:http://site.com。然后他自己向 https://site.com 发起 HTTPS 请求并将内容返回给用户,剥离 HSTS 标头。攻击者可以看到所有进一步的用户输入。

在我看来,除非我们从一开始就使用 HTTPS,否则没有办法防范 MITM。

HSTS 标头真的有助于抵御 MITM 攻击吗?

0 投票
2 回答
2598 浏览

ruby - Ruby MITM 代理

我正在寻找一些关于如何在 Ruby 中编写支持 HTTPS 的代理的示例。我有一个用 Webricks HTTPProxyServer 实现的简单代理,但我注意到,HTTPS 流量只是隧道(应该如此;))。但我想用 VCR 记录内容(关于我的问题VCRProxy: Record PhantomJS ajax calls with VCR inside Capybara),只要内容只是通过隧道,VCR 就无法记录它。

所以我想把代理写成中间人,即时生成SSL证书(我不关心证书错误,它只是为了测试),然后我就可以记录内容了/ 稍后播放。

因此,如果有人从如何开始、教程或要点方面有很好的资源,请告诉我。

PS:我已经看到了这个问题,但他们没有提供任何进一步的东西(它需要在 ruby​​ 中):

0 投票
2 回答
533 浏览

php - URL 中的随机字符串有助于对抗“中间人攻击”?

这是场景:

在每个非购物车页面上都会生成一个新的 md5(rand()) 会话变量。然后将此变量插入到购物车链接的 url 中。单击购物车链接将是用户从 http 转移到 https 的点,因此我知道这是一项确保安全的关键交易,以防止中间人将自己注入服务器和用户之间。

为了访问购物车,当前会话变量必须匹配 url 中的字符串(例如“/shopping_car_url/{random_string}/”),否则会发送 404 错误。

  1. 只要会话不受影响,这是否应该有效?
  2. 使用 POST 变量(或在会话和帖子中使用相同或不同的随机字符串)是否会同样有效或更有效(或无效)?
  3. 如果这是有效的,那么通过其余的购物车编辑/结帐过程做同样的事情是否有任何好处,或者这是否毫无意义,因为此时用户已经连接到 SSL?
0 投票
2 回答
957 浏览

security - 可以通过哪些方式发起中间人攻击?

我正在创建一个遵循服务器/客户端范例的聊天服务程序。该聊天程序既作为聊天服务器又作为聊天客户端存在,用户可以托管聊天室(并将他的客户端连接到该服务器),或者他可以加入现有的聊天室。

客户端通过其他用户将告诉他们的直接 IP 地址(例如从 whatismyip.com 获得)和指定的端口号进行连接。

在此聊天程序中的任何时间,一个用户都可以将文件发送给另一个用户。这是通过要求服务器在两个用户之间建立握手来启动的,用户 A 通过服务器将他的 IP 传递给用户 B,并且用户 B 调用用户 A 为文件传输创建的新服务。这消除了原来的聊天服务器,用户通过使用 nettcp 协议的直接 IP 连接。

在此文件传输中,文件在最初通过 RSA 加密发送 AES 私钥后使用 AES 加密。

我想知道有人可以用什么样的方式在这里发起中间人攻击。显然,我看到了通过服务器将 IP 地址传递给其他用户的缺陷,但现在我看不到任何其他方式,因为我无法让服务器检索发件人的 IPV4。

中间人的攻击方式是不是他可以看到这两个用户正在传输文件,并以某种方式从两端将数据流拉到自己身上?他可以在已经进行的文件传输会话中执行此操作吗?

我试图了解 MITM 攻击的工作方式,以便我可以查看是否可以保护我的程序免受此类攻击......但如果唯一可靠的方法是使用证书颁发机构(我仍在学习关于),请继续告诉我。

0 投票
4 回答
5228 浏览

android - 从 android 模拟器调试 https

我有一个使用 https 与 web 服务对话的 android(4.2) 应用程序。我想调试/记录每一个出去的 https。我有 fiddler 和 wireshark 来调试它们,但一切看起来都是加密的。可以使用模拟器和 fiddler/wireshark 设置中间人攻击来解码和显示 http url 及其参数吗?

0 投票
1 回答
1812 浏览

security - 通过网络加密 Amazon S3 URL 以保护数据访问

我想在 Amazon S3 存储桶上托管受版权保护的数据(以提供比我的服务器可以处理的更大的可用带宽)并为大量授权客户提供对这些受版权保护数据的访问。

我的问题是:

  • 我在服务器端为这些资源创建签名过期 HTTPS URL
  • 这些 URL 通过 HTTPS 连接发送到客户端
  • 当客户端使用这些 URL 下载内容时,任何中间人都可以清楚地看到该 URL

具体来说,URL 是通过 Ruby On Rails 服务器使用雾 gem 创建的。我所说的移动客户端是 iOS 设备。我用于测试的代理是 mitmproxy。

我生成的 URL 如下所示:

https://mybucket.s3.amazonaws.com/myFileKey?AWSAccessKeyId=AAA&Signature=BBB&Expires=CCC

我不是网络或安全专家,但我发现资源表明 HTTPS 连接没有任何内容可以清除(例如,参见HTTPS 标头是否加密?)。是不是我的测试配置错误导致了这个清晰的 URL?关于这里可能出了什么问题的任何提示?我真的有可能阻止 S3 URL 通过网络清除吗?