Web应用安全:数据库攻击与Web服务安全解析
1. 数据库安全隐患与SQL注入
在Web应用中,存在一些不期望用户发现或查看的文件,例如 xmlserver.js 、 database.inc 或 server.js 。像MS SQL Server的连接字符串很容易被发现,特别是当密码为空时,示例如下:
strConn = "Provider=SQLOLEDB;Data Source=dotcomdb;Initial Catalog=Demo;User Id=sa;Password="
Oracle的 global.jsa 文件可能包含凭证信息。
为了防御SQL注入攻击,在应用层面可以采取以下常见对策:
- 健壮的错误处理 :不要将原始的ODBC或其他错误信息直接展示给用户。使用通用的错误页面和错误处理程序告知用户问题,但不要提供系统信息、变量或其他数据。以Java为例,可通过“try, catch, finally”的异常处理方法实现。
- 参数列表 :将用户提供的数据放入特定变量中。字符串拼接是安全SQL语句的大敌,因为它为用户使用引号操作语句提供了便利。在Web服务器上应进行输入验证,数据库中的项目应使用强类型。例如,仅使用数值的字段应定义为INT类型,而非VARCHAR类型。
- 存储过程 :虽然不是万能的
超级会员免费看
订阅专栏 解锁全文

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



