问题标签 [tampering]

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 回答
377 浏览

security - Json Web Token (JWT) - 可用于保证 HTTP 正文的完整性?

互联网上有很多关于 JsonWebTokens 的信息,但关于使用它对 HTTP 消息的内容进行签名的信息并不多。

所以它可以签署自己的声明,但我不清楚是否有标准方式(和可用的实现)让它携带消息正文的签名(至少,HTTP 标头下方的任何内容)。

这是最重要的,因为如果另一个客户端自己窃取了令牌,它可能会被用来制作非合法请求,直到它过期。

这是迄今为止我找到的关于该主题的唯一资源:API Message Integrity With JSON Web Token (JWT)。标题很有希望,但文章并没有真正说明如何去做,它只是表明了这样做的兴趣。

顺便说一下,如果可以对正文的内容进行签名,那么签名验证的快速失败实现会很棒,例如分段的(例如,如果立即丢弃消息识别前 10kB 已被篡改,而不必摄取整个 10MB 消息)。

更多细节

我知道 JWT 是一个令牌,因此常见的用法是让授权方将令牌传递给客户端,然后客户端将在其请求中透明地将其转发给服务器。因此,身份验证方不知道客户端接下来会执行什么实际请求,并且无法签署此类请求的内容(这也是不切实际的,应该为每个请求发出不同的“令牌”)。它只是将令牌提供给客户端,客户端将不加更改地将令牌附加到每个请求。

但我认为在现实世界中的某些情况下,JWT 也是由客户端自己(而不是第三方)生成的,这意味着客户端知道共享密钥,并为自己合法地签署请求。
在这种情况下,原则上客户端可以签署 http 正文的内容,而不仅仅是 JWT 令牌的内容。
总而言之,我怀疑 JWT 格式不适合这种签名。客户端和服务器应该定义自己的协议/格式来做到这一点。

0 投票
1 回答
868 浏览

android - 正确使用 EncryptedSharedPreferences

Android 最近发布了 EncryptedSharedPreferences,它自动加密 SharedPreferences 键/值数据。虽然这很好,但我发现我可以简单地挂接到 API 调用并检索解密的值。除了在调用 EncryptedSharedPreferences 之前手动加密数据(哪种方式违背了它的目的)并实施更强大的运行时篡改确实检测到挂钩,有没有办法抵抗这种攻击?

此外,我还能够通过挂钩 javax.crypto.Cipher 并检查 SecretKeySpec 和 IvParameterSpec 来提取用于加密 EncryptedSharedPreferences 中的键/值对的加密密钥。这看起来很奇怪,因为加密密钥不是应该驻留在 Android 密钥库中并且永远不会离开吗?

0 投票
1 回答
100 浏览

android - 保护基于 ionic 的 android 应用程序 android manifest 文件权限

我已经使用离子角度开发了一个 android 应用程序。为了防止篡改,我实施了混淆。在 VAPT 测试中,应用程序被反向工程并在 android manifest XML 中添加新权限并构建 apk。执行此操作后,应用程序按预期工作。我的问题是如何保护 androidmanifest.xml 不被注入?

0 投票
2 回答
866 浏览

swift - iOS Swift 的防篡改和代码混淆工具

我正在为我的 iOS 项目寻找一个开源的防篡改和代码混淆工具。一些库,如 Android 中的 Proguard。我发现 iXGuard 和 Dexprotector 是付费工具。我正在寻找一些开源工具。任何帮助将不胜感激。

0 投票
2 回答
336 浏览

c# - 如何在运行时检查 apk 签名 xamarin.forms

大家好,我正在尝试在xamarin 表单 android应用程序中实施防篡改保护并验证应用程序签名。目前我正在使用这段代码:

sigs.GetHashCode().ToString()返回1331014879
sigs.ToString()返回android.content.pm.Signature@4f55acdf

但我想我可能做错了。这是在运行时验证 android 应用程序签名的正确方法吗?否则请给我代码和指导。谢谢。

0 投票
2 回答
35 浏览

java - 散列和保护传输中的数据

我在 AWS 文档中遇到了以下关于保护传输中的请求数据的建议:

https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html

保护传输中的数据 为了防止在传输中篡改请求,一些请求元素用于计算请求的哈希(摘要),并将生成的哈希值作为请求的一部分包含在内。当 AWS 服务收到请求时,它会使用相同的信息来计算哈希并将其与您请求中的哈希值进行匹配。如果值不匹配,AWS 将拒绝该请求。

只是想知道篡改者不可能从更改的值中重新计算散列并用原始散列替换新散列,这样服务器就看不到请求有任何问题吗?

哈希是使用密钥创建的吗?并且篡改者将无法正确创建新的哈希?

我确定我在这里遗漏了一些东西。有人可以帮忙吗。

0 投票
1 回答
240 浏览

html - 如何避免 Web 应用程序中的参数篡改和拦截?

我们有一个带有表单的 HTML 页面,假设在提交表单之前,请求被拦截,并且授权用户输入的值被一些黑客工具篡改。我们如何在 Web 应用程序中补救或防止这种情况。

使用 SSL 保护数据不被嗅探在请求发送后有效,但此处发布的场景适用于在请求发送到服务器之前。

0 投票
2 回答
858 浏览

python - 有什么方法可以识别 PDF 是否被编辑/篡改以及使用 Python 编辑/篡改 PDF 的确切位置?

我正在努力识别银行对账单 PDF 文档中的伪造/篡改。信息元数据和 XMP 元数据并不总是存在于我拥有的 PDF 中,因此我无法创建任何通用规则来识别被篡改的 PDF。我正在使用 Python 库,例如 PyMuPDF、PDFMiner、PyPDF2 等。

我有两个问题:

  1. 是否有任何具体的方法来识别 PDF 是否被篡改(使用 Python 或任何其他开源技术)?
  2. 如果 PDF 被篡改,那么 PDF 的哪一部分被篡改(使用 Python 或任何其他开源技术)?

附上 2 个 PDF 供参考 -

原文:-“sbi statment_out2.pdf”链接-https://drive.google.com/file/d/1DoWAKYcCudRO-Cwjbgf7RjiJUsF3DD3s/view ? usp=sharing

使用 Sejda 在线编辑器篡改:-“sbi statment_out2_Sejda_edited.pdf 链接 - https://drive.google.com/file/d/1J4eRy9tO3jN8AqEWNrKXtn40G6vdH5G3/view?usp=sharing

在经过调和的 PDF 中,我已将“信用”列下的“2,412.00”编辑为“12.00”。

如果有任何开源解决方案,请让我知道,最好是在 Python 中。

谢谢。

0 投票
0 回答
27 浏览

storage - 我应该如何篡改证明文件,以便只有我的应用程序可以修改它而不是用户

我通读了关于防篡改等的多个问题,但没有找到专门针对我的推荐解决方案。

需要明确的是:我知道如果文件被修改,您可以检查文件哈希。如果文件是静态的,那就太好了!

但就我而言,我的文件是可编辑的,但只能由应用程序编辑。我想尽可能地让用户编辑文件变得不可行。在用户编辑文件与应用程序的情况下,我想检测它是否已被编辑。

由于该文件位于“不受信任的位置”等等,我知道不可能精确地解决这个问题。

我的标准是:

  1. 知道用户是否修改了文件(与应用程序是否修改了可接受的文件相比)
  2. 如果可能,请尝试在用户确实修改文件的情况下纠正引入的错误
  3. 理想情况下,将文件放在他们没有“访问权限”的某个“安全”位置。我知道这是不可能的,甚至更难,因为直接分发二进制文件而不是在沙盒设备中,但也许有一些飞地很难到达和修改。
0 投票
1 回答
73 浏览

excel - Excel 的问题 - 第三方是否篡改了我的计算机?

今天,以下代码对我不起作用。我认为有人在篡改我的电脑。我想知道,这怎么可能被复制,或者我的代码有错误:

额外的:
我的代码是家庭作业,“蒙特卡洛模拟”。它基本上改变了用于烘焙饼干的物品清单的成本,并使用不同类型的分布(均匀、正常、离散)来做到这一点。由于带有循环引用的格式错误的循环,Excel 耗尽了它的资源 - 所以错误消息)。我反复重新启动 Excel。最终,我使用了教授提供的原始代码,并逐步重新插入了我已经编写过的函数和程序,以了解我的编码工作是如何导致 Excel 错误消息的。我在 1 分钟内完成了 1000 个“蒙特卡罗模拟”,而不是之前观察到的 30 分钟。我提供的代码我认为是基本的,但我无法解决问题,即使我将旧代码复制到我的 VBA 模块中。

2021 年 7 月 20 日添加
此代码使用控件集合来获取表单上数据的值。您需要具有两个文本字段的表单,这些文本字段应该具有双值内容。因此,从今天开始,控件集合不起作用。

txtPerc1txt1
然后该函数将返回一个值以及离散分布。
控件行被注释掉,因为我收到错误“未定义子或函数。我检查了字段的名称,没关系。

我在单独的工作表上向我的工作簿添加了第二个用户表单,并且以下代码正在运行:

这段代码用电子表格上收集的电话号码填充了一堆文本框。尽管如此,我还是无法让我的原始代码工作。

代码被 Excel 识别为错误,突出显示上图中显示的错误的位置: