网络应用安全:输入验证攻击与 SQL 注入解析
1. 输入验证攻击的常见副作用
输入验证攻击并不一定会导致应用程序被攻破,但很多时候会产生信息错误消息。这种情况并非特定类型的攻击,而是许多上述攻击的结果。信息错误消息可能包含完整路径和文件名、变量名、SQL 表描述、Servlet 错误(包括正在使用的自定义和基础 Servlet)、数据库错误(ADO 错误)或任何关于应用程序的信息。我们需要留意应用程序或服务器透露的任何信息,因为一系列小线索可能会引发大规模的漏洞利用。
2. 常见的应对措施
为了阻止输入验证攻击,我们需要采取以下关键措施:
- 服务器端输入验证 :客户端完全由用户控制,往返于 Web 浏览器的所有数据都可以被修改。因此,必须在服务器端进行正确的输入验证,脱离用户的控制。
- 字符编码 :用于 HTML 和 SQL 格式化的字符应进行编码,以防止应用程序误解它们。例如,将尖括号存储并显示为 “<” 和 “>”。
- 正则表达式 :使用正则表达式来匹配数据中的未授权内容。
- 强数据类型 :数值应分配给数值数据结构,字符串值应分配给字符串数据结构。尽可能分配长度限制。
- 正确的错误处理 :无论使用何种语言编写应用程序,错误处理都应遵循 Java 的 Try、Catch、Finally 例程概念。尝试执行一个操作,捕获该操作可能导致的特定异常,如果其他方法都失败,则优雅地退出。这还需要一个通用、礼貌的错误页面,不包
超级会员免费看
订阅专栏 解锁全文
1592

被折叠的 条评论
为什么被折叠?



