首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何应对移动应用开发中的“语义URL攻击”

如何应对移动应用开发中的“语义URL攻击”
EN

Stack Overflow用户
提问于 2012-04-26 15:27:14
回答 1查看 388关注 0票数 1

我是一个iOS开发人员&开发了一个web服务应用程序,它已经在app Store上生活了一年。现在我决定让这个应用程序跨平台可用--从Android开始,为此我雇佣了一位Android开发人员。

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

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

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

顺便说一句,我在谷歌上对这个话题做了大量的研究&据我所知,上面的问题被称为"Semantic URL attack"。但是我没能找到正确的解决方案。建议使用"Sessions“,但根据我的理解,只有当我们有基于密码的用户身份验证时,”会话“才有帮助--这不是我的应用程序的功能。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-26 15:42:52

首先,你必须意识到,如果你没有保护,只允许任何事情,人们将能够做任何事情,就这么简单。因此,据我所知,你不想使用标准的保护:即用户有登录凭证,并使用每种情况下的防御性编程。

好的,那么一个部分的解决方案是计算一个散列:

  • 您要使用参数P
  • you compute H=hash(P)
  • 查询服务器,您将?p=P&h=H发送到服务器
  • 您的服务器接收?p=P&h=H并计算H‘=

(P)H19如果H’!= H,则服务器拒绝回答F211

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

如果您担心攻击者使用正确的散列重复旧的查询,您可以进行更复杂的握手:首先向客户端发送一个随机数,它将是要计算的散列的一部分。或者是基于datetime,ip或者其他什么的东西。

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10328980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档