0

我有一个问题......我知道你必须清理 POST 和 GET 以阻止人们对你的网站/数据库做讨厌的事情,但我很困惑......我在一个网站上看到了以下内容以为我会问这个问题。

在此处输入图像描述

黑客先生怎么知道要删除的表被称为学生?,在这种情况下,它是一所学校,可能不需要太多的工作,但我认为这种东西的代码在运行时是隐藏的在一个 php 文件中......所以如果我将我的表命名为模糊的东西,攻击者如何知道要删除的表名是什么?

4

3 回答 3

4

是的,它是隐藏的,但如果你有这样的漏洞,你可以执行任何你想要的查询,包括SHOW TABLESSHOW COLUMNS ..

于 2013-02-12T19:13:07.157 回答
1

经验法则是,安全总比后悔好!如前所述,攻击者可以输出您的数据内容,或者根据图片将其删除。尽管 PHP 代码是隐藏的,但在某些情况下可能并非如此,例如一些错误输出或 PHP 模块由于某种原因被卸载,然后源代码将变得可见。

于 2013-02-12T19:16:12.967 回答
1

也许这不能回答这个问题,但我想澄清一下:每个人都在谈论“清理”用户输入只是为了避免表丢失、数据库被破坏和其他灾难。

我没有看到的是,消毒是为了保护您的查询。不是来自黑客,也不是来自魔鬼,而只是为了这个名叫 O'Reilly 的可怜人,或任何其他包含引号的用户提供的数据。

那句话可能会打断你的查询,句号。并停止您设计精美的 web 应用程序。而且它不是恶意的。

因此,清理您的查询以避免它们中断。这样做的同时,您还可以防止 MALICIOUS BREAKING,它本身就是一个类别。查询是STRINGS,由引号分隔,并且插值引号只是在不应该的地方结束字符串,并且您的数据库调用错误。

于 2013-02-12T19:18:29.907 回答