检查了 这页 从纽约时报:

http://homedelivery.nytimes.com/HDS/learnMorePopUp.do ?mode=common.learnMorePopUp
&productId=NDS
&prodRate=7.40

我很惊讶地看到,当我手修改 prodRate 参数,网页更新:

  • 介绍订阅费率。
  • 定期的订阅费率。

自己试试看!现在,我没有做过太多的网络的发展,但我知道这也许不应该发生。所以我想知道:

  • 什么样的实施将导致这一行为?
  • 你会如何修改页面,以隐藏这样敏感的参数,从最终用户?
有帮助吗?

解决方案

你可能想要改变措辞你的问题,作为唯一的答案,我可以设想是不是太明:

问:什么样的实施将导致这一行为?
A:其中一个用户输入被允许控制的内部信任的行为。如果你问"为什么会有人这么做",我通常看到它作为一个误解。代码作者通常没有意识到,用户可以(a)控制的价值和/或(b)甚至发现它的存在。大多数情况下,我已经看到这落实为一个重定向-你按一下按钮,服务器定然后将浏览器重定向到新网页维护的价值

问:你会如何修改页面,以隐藏这样敏感的参数,从最终用户?
A:不要储存的价值的方式通过其编辑的最终用户。如果您有存储可用于服务器(如Servlet engine)储存在该届会议的上下文。如果你没有一个良好的机构会议,你可能将其存储在一个签署或HMAC会的cookie。

其他提示

他们可能只是读值的查询显示的目的。我非常怀疑(或者说,会真的希望)就任何实际订单处理不是根据关于价值,而不是从查找使用的产品标识。

好吧,你实际上想到了吗?它可能验证的输入。

因为其他选择,他们可能已经被认为是张贴信息或将信息在一个饼干。也不是完全的傻瓜的证明。你不能得到一个新的窗口,有一个员额和一个用户可以关闭cookie.

你不能为了从这一页,因此我没有看到一个安全洞在这里。是啊,这是俗气的,但我会更担心,如果实际秩序的流动是如此不构成。它并使它易于更新的速率在一个地方,刚刚通过的价值,这样我就可以看到它是如何发生的。

我们有一些评价的网页,做差不多同样的事情。他们没有连接到实际的购买流动这样的参数的罚款。如果客户想要混淆自己的编辑一个网址,所以它...实际订购流程的所有数据库驱动的,用户的编辑都是不可信的。

我已经找到各种各样的坏练习这样的。我已经看到了网站,通过整个SQL查询周围的查询,这是然后 执行.我还记得寻找一个在线商店,通过价格在查询.我改变了一个为负值,确保有足够,在结账时的价格是减去!我没有去任何进一步虽然从技术上讲,它是欺诈和不值得冒险。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top