问题标签 [spoofing]
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.
security - 如何在 OSX 上欺骗 USB 供应商 ID 和产品 ID 值?
我们正在考虑使用 USB 设备的供应商和产品 ID(通过 IOKit 获得)来解锁应用程序的某些功能。我知道这些值可以被欺骗,但我不确定在 OSX 上可以轻松地完成它。欺骗供应商和产品 ID 涉及什么?非程序员可以很容易地做到这一点吗?
security - 应用程序安全问题:伪造 IP 地址有多容易?
我正在处理一个受防火墙保护的应用程序,并且只允许从某些 IP 地址(它们是应用程序网络服务器)进行访问。
它有点微妙,引入另一个身份验证/保护层会很麻烦。
我对网络的理解不是很好,因为它不是我的主题,但在我的脑海中,我编造了以下场景:
有人知道我们的一个应用程序服务器的 IP 地址,并想伪造它以访问他知道侦听套接字和协议的另一个应用程序。
因此,他更改了他的 IP 数据包的标头,以将 Web 服务器 IP 作为发送器。
接下来发生什么?
A:他的 ISP 拒绝了这个数据包并说“嘿,这不是你分配给我的 IP 地址”。- 问题已解决
B:ISP 将数据包传递到下一层(他的上行链路……)
让我们假设 ISP 已被入侵或数据包未经检查就被传递(我不知道是否是这种情况)
接下来发生什么?
A:运营商拒绝该数据包并说“嘿,该 IP 不在我们同意您操作的 IP 范围内!” - 现在,如果我的网络服务器不是由攻击者入侵的同一个 ISP 操作 - 问题已解决
B: ISP 不检查数据包或被破坏并将其转发到他的上行链路。
现在我很确定在通过路由器时会检查和过滤 IP 地址。否则将是完全的无政府状态。
因此,直截了当地说:想要伪造我的 IP 地址的攻击者需要破坏负责我的 Web 服务器运行的 IP 范围的同一个 ISP - 或者这个 ISP 不进行数据包检查。
- 这个对吗?
好的,现在我想我的服务器位于办公室,其 ISP 是一家区域有线电视公司。
将数据包从我的 IP 地址发送到另一个 Internet IP 所需的步骤是什么?
(当然我只是要求了解风险并选择适当的保护!)
我想定位路由站,该路由站通常位于街道一侧的某个小容器中,该容器仅由锁保护。往里走。交换电缆或自己插入。
如果您知道自己在做什么,或者是否与存储在真实办公室调制解调器上的密钥进行了加密握手,这是建立经过身份验证的连接所必需的?
我说的是当今有线互联网的标准。
最后的想法:所以,如果我的源服务器不是某个家庭 ISP,其站点在街上易受攻击,我应该很安全,对吧?
我记得 NFS 服务器默认只依赖 IP 身份验证。因为这很常见——有没有 NFS 服务器被伪造 IP 地址攻击的例子?
我意识到这个问题提出的非常非常含糊。这是因为我不确定我在这里所说的任何事情。我只是想在我认为可能存在洞穴的地方提供一些输入,以便可以确认或消除它们。
总的来说,我感谢您对该主题的任何评论和个人想法!
python - 如何使用 scapy 重新计算 IP 校验和?
可能重复:
如何在不发送的情况下计算数据包校验和?
我在捕获的数据包中欺骗了源 IP 和 MAC 地址,但现在我需要重新计算校验和,以便在收到它后检查(当然是在注入网络之后)。我真的不想自己实现校验和,我想这scapy
可以为我做这件事。我读到该show2()
函数应该重新计算校验和,但我似乎无法让它工作。
那么,我如何使用scapy
重新计算(和替换)捕获的 + 欺骗数据包的校验和?
谢谢!
linux - 如何通过不同的接口路由 TCP/IP 响应?
我有两台机器,每台机器都有两个有效的网络接口,一个以太网接口eth0
和一个 tun/tap 接口gr0
。目标是使用接口在机器 A 上启动 TCP 连接,gr0
然后让机器 B 的响应(ACK 等)通过以太网接口返回eth0
。因此,机器 A 发送一个 SYN ongr0
并且机器 B 自己接收到 SYN,gr0
然后通过 发送它的 SYN/ACK eth0
。tun/tap 设备是一个 GNU Radio 无线链接,我们只希望响应来自以太网。
实现这一目标的最简单方法是什么?我需要对 TCP/IP 进行更多研究,但我最初认为源欺骗传出数据包会告诉接收器响应欺骗地址(应该路由到eth0
)。这将涉及从 tun/tap 接口路由 IP,gr0
并将其他流量留给eth0
.
我们使用的是 Linux,最好使用 Python 解决方案。
感谢您的关注!
java - 如何在java中欺骗ip
如何在 Java 中更改第 3 层中的 tcp 信息?(ip 欺骗)如何更改第 2 层信息?在 java 中有什么好的库吗?它需要原始套接字吗?
javascript - 如何在运行时修改/“欺骗”标准浏览器 JS DOM 对象(Window.location)?
我想从网络浏览器中动态更改一些标准的 JS DOM 对象。
例如,当我执行时:
我想在运行时为我的浏览器的“window.location”对象指定一个新值,而不是“正确”对象(用于访问请求页面的 URL),可以通过类似调试器的界面,甚至可以通过编程(如果需要) .
尽管 Firebug 通过它的“DOM Inspector”宣传了做类似事情的能力,每当我尝试修改任何 DOM 值时,我已经通过它的调试器暂停了 Javascript,但它只是忽略了我输入的新值。经过一些研究,根据此错误报告,这似乎是一个已知问题:http ://code.google.com/p/fbug/issues/detail?id=1707 。
从理论上讲,我可以编写一个程序来简单地打开一个 HTTP 套接字并模拟一个浏览器“用户代理”,但这对我的目的来说似乎很麻烦。当我问的时候,有没有人知道一个好的 Java/C# 库,其中包含模拟 HTTP 标头并解析接收到的 HTML/JS 的函数/对象?我一直梦想着这样一个库的存在,但我尝试过的大多数库(Java 的 Apache HttpClient、C# 的 System.Net.HttpWebRequest)都太低级了,无法通过最少的计划和很短的时间做出任何有价值的事情的时间。
提前感谢您提供的建议和建议!
tcp - TCP ACK 欺骗
我正在编写一个伪造 TCP 请求并收集数据以存储在本地缓冲区中的程序。为此,在连接到客户端的系统中,我已将 iptables 配置为在路由之前将所有传入数据包保留在队列中。然后我使用 netfilter 库从队列中读取数据包。在此之后使用 RAW 套接字,我将伪造的 TCP 数据包发送到客户端。有了这个,我可以伪造 SYN/ACK 数据包以响应来自客户端的 SYN 请求。
但是,当我尝试向客户端伪造 ACK 以响应传入数据时,就会出现问题。在这种情况下,源的真实 ip 来自数据包,而不是伪造的。请参阅下面标有“>>>”的第 7 条轨迹。在此源 ip 显示为 192.168.10.10,因为它必须是 212.58.246.81。在第 4 个跟踪(即 SYN/ACK 数据包)中,它显示得很好。
我也试过像下面这样的“sendip”命令来发送一个假的 TCP ACK
这里 tfa 和 tfs 分别代表 ack 和 syn 标志。这也没有按预期工作,它显示为源自 192.168.10.10 而不是 212.58.246.81。但是,如果我将两个标志(syn 和 ack)都设置为 1,那么它工作正常。
操作系统是 Ubuntu。谁能让我知道我哪里出错了。非常感谢你的帮助。
javascript - 检测对 JavaScript 文件的欺骗
假设我正在开发一堆旨在嵌入任何网页的 JS 小部件(类似于 iGoogle、Pageflakes 小部件)。
客户端可以通过包含脚本标签来嵌入小部件:
现在这些小部件依赖于公共库(让我们使用 jQuery、下划线和我自己的一些库 - 例如 myCommon.js)。
理想情况下,这是应该发生的:
- Widget 的 bootstraper js 先下载
- Widget 的引导程序 js 检查是否存在这些库文件及其所需版本(例如页面上是否加载了 jQuery v1.6.2,myCommon v1.1 等)
- 如果加载了其中任何一个,请不要请求这些文件,而仅下载缺少的脚本。
- 这些脚本然后调用一些网络服务,做一些魔术并在页面上呈现 HTML
关注:检查已加载的文件会引入脚本欺骗漏洞。恶意用户在加载后欺骗库,用于窃取敏感信息或做其他坏事。
解决方案:不要检查加载的库,总是再次发送它们。这仍然不是万无一失的,但至少让它变得更难了,因为他不得不再次恶搞。但是,这会导致带宽浪费和加载时间增加。
问题:是否可以检测加载的文件是否被篡改,最好是在客户端?还是必须包含服务器端解决方案?如果这很重要,我已经在服务器端运行了 ASP.Net。
rest - 有没有办法通过 REST 服务强制发起请求
我有一组我只希望我的 Web 应用程序使用的 REST 服务。我不希望我的用户能够使用他们的凭据并让第三方应用程序使用服务(因为我的数据是付费的)。我有一种方法可以确保只有我的 javascript 才能从无法被欺骗的浏览器调用服务(例如,请求标头和用户代理检测将不起作用。)
这可能更像是一个创造性的问题。
javascript - 如何欺骗 JavaScript GET 请求的用户代理?
如何欺骗 JavaScript GET 请求的用户代理?不允许使用setRequestHeader :User-Agent