Web应用程序开发人员通常相信大多数用户将遵循规则并使用应用程序,因为它是打算使用的,但是用户(或黑客)何时会弯曲规则呢?如果用户跳过花哨的Web界面并开始在引擎盖下乱搞而没有浏览器施加的限制,该怎么办?
关于Firefox怎么样?
Firefox是大多数黑客的首选浏览器,因为它采用了插件友好设计。 Firefox最流行的黑客工具之一是名为Tamper Data的附加组件。篡改数据不是一个非常复杂的工具,它只是一个代理,它将自己插入用户和他们正在浏览的网站或Web应用程序之间。
篡改数据允许黑客剥离窗帘以查看并混乱幕后发生的所有HTTP“魔法”。所有这些GET和POST都可以在没有浏览器中看到的用户界面限制的情况下进行操作。
有什么感觉?
那么为什么黑客像Tamper Data这么多呢?为什么Web应用程序开发人员会关心它呢?主要原因是它允许一个人篡改在客户端和服务器之间来回发送的数据(因此名称为Tamper Data)。启动Tamper Data并在Firefox中启动Web应用程序或网站时,Tamper Data将显示允许用户输入或操作的所有字段。然后,黑客可以将字段更改为“备用值”,并将数据发送到服务器以查看其响应方式。
为什么这可能会对应用程序造成危害
假设黑客正在访问在线购物网站并将项目添加到他们的虚拟购物车中。构建购物车的Web应用程序开发人员可能已经将购物车编码为接受来自用户的值,例如 数量=“1” 并将用户界面元素限制在包含数量的预定选择的下拉框中。
黑客可以尝试使用篡改数据来绕过下拉框的限制,只允许用户从一组值中选择,如1,2,3,4和5.使用篡改数据,黑客可以尝试输入不同的值“-1”或“.000001”。
如果开发人员没有正确编码他们的输入验证例程,那么这个“-1”或“.000001”值可能最终被传递给用于计算项目成本的公式(例如,价格x数量)。这可能会导致一些意外结果,具体取决于错误检查的程度以及开发人员对来自客户端的数据的信任程度。如果购物车的编码很差,那么黑客最终可能会获得可能的意外巨额折扣,对他们甚至没有购买的产品的退款,商店信用或谁知道还有什么。
使用Tamper Data滥用Web应用程序的可能性是无穷无尽的。如果我是一名软件开发人员,只要知道有像Tamper Data这样的工具就会让我在晚上工作。
另一方面,Tamper Data是安全意识的应用程序开发人员使用的优秀工具,因此他们可以看到他们的应用程序如何响应客户端数据操作攻击。
开发人员经常创建“用例”,专注于用户如何使用该软件来实现目标。不幸的是,他们经常忽视坏人因素。应用程序开发人员需要戴上他们的坏人帽子并创建“滥用案例”来解释黑客使用Tamper Data等工具。
篡改数据应该是其安全测试库的一部分,以帮助确保在允许客户端输入影响事务和服务器端进程之前验证和验证客户端输入。如果开发人员没有积极参与使用像Tamper Data这样的工具来查看他们的应用程序如何响应攻击,那么他们就不会知道会发生什么,最终可能会支付黑客刚购买的60英寸等离子电视的账单99美分使用他们有缺陷的购物车。




