黑客可以通过无数种方式破坏您的网络安全。可悲的是,每年都在发明更多的方法。因此,为了保证基于 Web 的应用程序的安全,您必须学会跟踪这些方法并确保您已准备好防御它们。您应该了解的策略的一个主要示例称为注入缺陷。这是黑客最喜欢的武器,他们注意到 Web 应用程序没有过滤掉本来应该过滤的输入。
Web应用程序
任何好的 Web 应用程序都应该在门口有一个保镖,允许某些类型的输入同时不允许其他类型的输入。有时,Web 应用程序只能做到这一点。SQL注入是黑客如何利用这一点的一个很好的例子。例如,假设网页需要您的出生日期才能让您进入(例如,对于相当标准的注册表单)。
低于标准的“保镖”只接受数字,因为这是写日期的唯一方法。例如,您不能写“1985 年 4 月 3日”;它必须是 85 年 4 月 3 日。高质量的保镖只会让数字出现在这个提示上。
为什么这么大?这是因为虽然输入字母不能满足提示的要求,但输入仍然可能会进入数据库。然后,知道自己在做什么的人可以在提示符中输入恶意 SQL 命令,欺骗它不仅让内容通过,而且将其发送到数据库。
访问数据库
一旦他们可以访问数据库,黑客就可以做任何事情,从获取信息到完全破坏它。Shell 命令的工作方式相同。如果您没有适当的策略来清理从 Web 应用程序的 HTTP 请求传递到命令行的信息,那么黑客可以注入特殊字符、命令修饰符或恶意命令,这些命令将被盲目地引入外部系统。然后它将执行它们。
虽然这似乎是一项艰巨的任务,但如果您策略性地过滤输入,考虑哪些输入可以信任或不可以信任,则可以防止这些简单的攻击。请记住,这意味着所有输入,而不仅仅是显而易见的选择。如果你把致命弱点暴露在外,一些有进取心的黑客一定会找到它。