如果 HTML 表单名称与它们最终更新的数据库字段名称完全相同,我经常看到优化服务器端代码的机会。
明显的缺点是,这暴露了数据库结构的信息。
当然,此信息仅在存在其他弱点时才有用,但它看起来确实像在盘子上传递信息。
我很想知道人们是否认为这是低风险的,以及他们是否确实公开了这样的字段名称而不用担心。
如果 HTML 表单名称与它们最终更新的数据库字段名称完全相同,我经常看到优化服务器端代码的机会。
明显的缺点是,这暴露了数据库结构的信息。
当然,此信息仅在存在其他弱点时才有用,但它看起来确实像在盘子上传递信息。
我很想知道人们是否认为这是低风险的,以及他们是否确实公开了这样的字段名称而不用担心。
这样做很常见。正如您所注意到的,保持代码简单有一个显着的好处。
如果您确实存在 SQL 注入漏洞,攻击者可以使用 INFORMATION_SCHEMA 找出您的数据库结构。所以隐藏你的数据库结构对你没有多大帮助。
该领域的另一个问题是批量分配漏洞。也许允许用户更新他们的用户详细信息 - 姓名、电子邮件、密码等。但他们不应该能够更新字段“is_admin”。使用自动将表单字段路由到 SQL 语句的代码,有时会出现这样的漏洞。
我认为公开数据库字段名称不是一个好习惯,但对字段本身来说风险并不高,因为为了访问这些字段,必须破解您的数据库凭据,一旦凭据被盗,就不会了不管他们是否知道这些领域,他们都会自己探索他们想要的东西。
话虽如此,暴露的数据库字段可能被用于某种其他类型的安全攻击。(在信息收集步骤)
结论是:如果不需要,切勿公开字段名称。