WEB攻击手段及防御第2篇-SQL注入

简介: 概念SQL注入即通过WEB表单域插入非法SQL命令,当服务器端构造SQL时采用拼接形式,非法SQL与正常SQL一并构造并在数据库中执行。简单的SQL注入的例子:例1:test123456 or 1=1;加上or 1=1,如果没有防止SQL注入,这样攻击者就能成功登录。

概念

SQL注入即通过WEB表单域插入非法SQL命令,当服务器端构造SQL时采用拼接形式,非法SQL与正常SQL一并构造并在数据库中执行。

简单的SQL注入的例子:

例1:test123456 or 1=1;

加上or 1=1,如果没有防止SQL注入,这样攻击者就能成功登录。

例2:test123456';drop table xxx--

这样会删除一个表,--后面的就是注释

防御手段

1、禁止采用SQL拼接的形式

这也是最重要的一点,要采用参数化的形式。如mybatis参数占位符要使用##,它会给参数默认带上单引号,所有输入输入的字符当作一个参数来处理,而不是命令,不要使用$$,它不会带单引号有SQL注入的风险。

2、过滤或转义特殊字符

特殊字符包括如:单引号、杠等,或者使用正则表达式过滤如drop table、delete..、update..等危害数据库安全的请求,前后端都要采用措施。

3、数据库用户权利最小化

不要使用最大权限的管理员进行连接,为每个应用使用独立的所在库的账号进行连接,这样使权利最小化。

4、发生异常不要使用错误回显,

即显示默认的服务器500错误,把代码及表名信息直白显示在网页上,这样攻击者就能通过恶意操作使网页出现500错误从而看到数据库表名等内部信息。

5、加密存储敏感信息

用户敏感信息如身份证、手机号、邮箱、卡号等一定要加密存储,而且要妥善保密密钥。

相关文章
|
1月前
|
SQL 监控 安全
SQL注入的实现原理以及防止
SQL注入的实现原理以及防止
|
1月前
|
SQL Java 应用服务中间件
Java项目防止SQL注入的四种方案
Java项目防止SQL注入的四种方案
39 0
|
2天前
|
SQL 存储 前端开发
< 今日份知识点:web常见的攻击方式(网络攻击)有哪些?如何预防?如何防御呢 ? >
网络安全威胁日益严重,2017年的永恒之蓝勒索病毒事件揭示了网络攻击的破坏力。为了防御Web攻击,了解攻击类型至关重要。Web攻击包括XSS、CSRF和SQL注入等,其中XSS分为存储型、反射型和DOM型,允许攻击者通过注入恶意代码窃取用户信息。防止XSS攻击的方法包括输入验证、内容转义和避免浏览器执行恶意代码。CSRF攻击则伪装成用户执行操作,防范措施包括同源策略和CSRF Token验证。SQL注入则通过恶意SQL语句获取数据,预防手段包括输入验证和使用预编译语句。面对网络威胁,加强安全意识和实施防御策略是必要的。
|
6天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
14 0
|
14天前
|
SQL 安全 PHP
CTF--Web安全--SQL注入之Post-Union注入
CTF--Web安全--SQL注入之Post-Union注入
|
1月前
|
SQL 安全 测试技术
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
15 0
|
1月前
|
SQL 安全 API
|
2月前
|
SQL JSON 数据库
常见的sql注入类型闭合及符号
常见的sql注入类型闭合及符号
31 0
|
13天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
52 10
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改