gpt4 book ai didi

php - 移动应用开发中如何处理 "Semantic URL attacks"

转载 作者:行者123 更新时间:2023-11-30 04:14:06 25 4
gpt4 key购买 nike

我是一名 iOS 开发人员,开发了一款网络服务应用程序,该应用程序已在 App Store 上架一年。现在,我决定让这款应用跨平台使用 - 从 Android 开始,为此我聘请了一名 Android 开发人员。

在此之前,所有与网络相关的代码和数据(PHP/MySQL/XML)都是由我一个人管理和获取的 - 所以我不太担心安全性。但是现在,随着另一个开发人员的加入,我有以下问题:

应用程序发送 POST 请求,其中包括要获取的行数 - 然后 PHP 脚本从 MySQL 获取那么多行并以格式良好的 XML 返回它们。我担心的是,现在员工也将了解整个过程,虽然他不能直接访问 PHP 脚本或 MySQL 数据库,但他仍然可以通过多种方式滥用它。例如,他可以在 Web 浏览器上创建一个包含 100000 行甚至 POST 请求的 URL - 这将使他拥有 XML 中的所有数据。

应该采取什么措施来应对这种情况? (是的,我可以在上述特定情况下强制将硬性限制设置为 40,但这不是理想或通用的解决方案。)

顺便说一句,我对这个主题进行了广泛的谷歌研究,据我所知,上述问题被称为 "Semantic URL attack" .但是我无法找到正确的解决方案。建议使用“Sessions”,但根据我的理解,“ session ”仅在我们具有基于密码的用户身份验证时才有用——这不是我的应用程序的功能。

如有任何帮助,我们将不胜感激。

最佳答案

首先您必须意识到,如果您没有任何保护措施并且允许任何事情发生,那么人们将能够做任何事情,就这么简单。因此,据我了解,您不想使用标准保护措施:即用户拥有登录凭据,并使用按案例防御编程。

好的,那么一个部分解决方案是计算哈希值:

  • 你想用参数P查询服务器
  • 你计算 H=hash(P)
  • 你发送 ?p=P&h=H 到服务器
  • 您的服务器接收 ?p=P&h=H 并计算 H'=hash(P)
  • 如果 H' != H,则服务器拒绝回答

您必须在 php 和您的移动应用程序中计算相同的确定性哈希函数,最好是非常复杂的函数,将您自己的暗加密算法与 md5、sha1、同步线程等混合。

如果您担心攻击者使用正确的哈希值重复旧查询,您可以进行更复杂的握手:首先向客户端发送一个随机数,该随机数将作为哈希值的一部分进行计算。或者基于日期时间、IP 或其他内容的内容。

当然,如果攻击者对您的代码进行逆向工程,他可以找到哈希函数,但这至少需要他一些工作。如果你想让他的工作更难,你可以混淆你客户的代码。

作为证明,我曾在不需要注册的服务上使用这种技术来对付蹩脚的攻击者。除非攻击者是专业人士并且非常想要您的私有(private)数据,否则它会起作用。

关于php - 移动应用开发中如何处理 "Semantic URL attacks",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10328980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com