0

我对网站漏洞有一个想法,我想知道它是否可能。还有一些关于如何修复它们的建议。

如果我网站的某些部分将数据写入 DOM,然后从中调用数据,那么有人可能通过在浏览器中编辑 DOM 来“破解”服务器吗?

例如,假设我有一些单选按钮。每个按钮都有自己的关联逻辑。如果我删除了其中一个按钮,但未能删除或注释掉逻辑,是否有人可以进入并将其中一个按钮的 DOM 名称编辑为已删除的按钮,并在提交时让服务器执行与已删除相关的逻辑单选按钮?

我了解如何通过删除或注释掉已删除按钮的逻辑来解决这种情况,但我担心我的网站过于依赖可以通过 DOM 操作的此类内容。因此,我想知道:

  1. 这样的事情可能吗?
  2. 一些复杂的验证方法是防止这种性质的“黑客”的唯一方法吗?
4

1 回答 1

4

你的问题的答案是肯定的。例如,在许多浏览器中,您可以打开一个 javascript 控制台,不仅可以更改 DOM,还可以更改站点上的 javascript。

无法保证您为网页编写的代码将在您编写代码时运行。任何用户都可以更改他们的副本。他们不应该做的是改变别人的副本。当他们这样做时,称为跨站点脚本 (XSS) 攻击。(通常通过将脚本添加到保存在数据库服务器中然后提供给另一个用户的字段来完成。)

为了保护您的站点,您需要确保所有 Web 服务调用都是安全的——即用户不能使用恶意数据调用它们并导致问题。

您还需要阻止 SQL 注入攻击。

没有办法防止用户更改他们机器上的网页并让它做一些你不想要的事情,所以所有的验证都需要在浏览器和服务器上进行。


作为改变本地浏览器行为是多么容易的一个例子,请考虑浏览器扩展。浏览器扩展是一种预先编码的方式来改变网页在本地的行为方式。(以广告拦截器为例。)

于 2013-06-23T04:45:21.797 回答