我有一个关于网站漏洞的想法,我想知道它是否可能。并对如何解决这些问题提出了一些建议。
如果我的网站的某些部分将数据写入DOM,然后从DOM中调用数据,那么是否有人可以通过在浏览器中编辑DOM来“攻击”服务器?
例如,假设我有一些单选按钮。每个按钮都有自己的逻辑。如果我删除其中一个按钮,但未能删除或注释掉该逻辑,是否有人进入并编辑其中一个按钮的DOM名称,并在提交时让服务器执行与已删除的单选按钮相关联的逻辑?
我理解如何通过删除或注释删除按钮的逻辑来解决这种情况,但我担心我的站点过于依赖那些可以通过DOM操作的东西。因此,我想知道:
发布于 2013-06-23 04:45:21
你的问题的答案是肯定的。例如,在许多浏览器中,您可以打开javascript控制台,不仅可以更改DOM,还可以更改站点上的javascript。
不能保证您为网页编写的代码将在编写代码时运行。任何用户都可以更改其副本。他们不应该做的是改变别人的副本。当他们这样做时,这被称为跨站点脚本(XSS)攻击。(通常是将脚本添加到一个字段中,该字段保存在数据库服务器中,然后提供给另一个用户。)
为了保护您的站点,您需要确保所有web服务调用都是安全的--也就是说,用户不能用恶意数据调用它们并造成问题。
您还需要阻止SQL注入攻击。
没有办法防止用户更改他们机器上的网页,让它做一些您不想做的事情,所以所有的验证都需要在浏览器和服务器上进行。
作为更改本地浏览器行为是多么容易的一个例子,请考虑浏览器扩展。浏览器扩展是一种预先编码的方式,可以改变网页在本地的工作方式。(以广告阻滞剂为例。)
https://stackoverflow.com/questions/17257769
复制相似问题