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

简介: SQL注入即通过WEB表单域插入非法SQL命令,当服务器端构造SQL时采用拼接形式,非法SQL与正常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、加密存储敏感信息


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


关注公众号Java技术栈回复"面试"获取我整理的2020最全面试题及答案。


相关文章
|
11月前
|
安全 NoSQL Java
互联网并发与安全系列教程(06) - 常见的Web安全漏洞(CSRF攻击)
互联网并发与安全系列教程(06) - 常见的Web安全漏洞(CSRF攻击)
107 0
|
12天前
|
缓存 安全 应用服务中间件
Web安全-HTTP Host头攻击
Web安全-HTTP Host头攻击
28 7
|
13天前
|
缓存 安全 应用服务中间件
Web安全-HTTP Host头攻击
Web安全-HTTP Host头攻击
26 3
|
5月前
|
SQL 存储 前端开发
< 今日份知识点:web常见的攻击方式(网络攻击)有哪些?如何预防?如何防御呢 ? >
网络安全威胁日益严重,2017年的永恒之蓝勒索病毒事件揭示了网络攻击的破坏力。为了防御Web攻击,了解攻击类型至关重要。Web攻击包括XSS、CSRF和SQL注入等,其中XSS分为存储型、反射型和DOM型,允许攻击者通过注入恶意代码窃取用户信息。防止XSS攻击的方法包括输入验证、内容转义和避免浏览器执行恶意代码。CSRF攻击则伪装成用户执行操作,防范措施包括同源策略和CSRF Token验证。SQL注入则通过恶意SQL语句获取数据,预防手段包括输入验证和使用预编译语句。面对网络威胁,加强安全意识和实施防御策略是必要的。
223 0
|
2月前
|
SQL 监控 安全
|
3月前
|
SQL 安全 数据库
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
【7月更文挑战第26天】在 Python Web 开发中, 安全性至关重要。本文聚焦 SQL 注入、XSS 和 CSRF 这三大安全威胁,提供实战防御策略。SQL 注入可通过参数化查询和 ORM 框架来防范;XSS 则需 HTML 转义用户输入与实施 CSP;CSRF 防御依赖 CSRF 令牌和双重提交 Cookie。掌握这些技巧,能有效加固 Web 应用的安全防线。安全是持续的过程,需贯穿开发始终。
71 1
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
|
5月前
|
安全 JavaScript Go
【Web】什么是 XSS 攻击,如何避免?
【Web】什么是 XSS 攻击,如何避免?
|
2月前
|
开发者 安全 SQL
JSF安全卫士:打造铜墙铁壁,抵御Web攻击的钢铁防线!
【8月更文挑战第31天】在构建Web应用时,安全性至关重要。JavaServer Faces (JSF)作为流行的Java Web框架,需防范如XSS、CSRF及SQL注入等攻击。本文详细介绍了如何在JSF应用中实施安全措施,包括严格验证用户输入、使用安全编码实践、实施内容安全策略(CSP)及使用CSRF tokens等。通过示例代码和最佳实践,帮助开发者构建更安全的应用,保护用户数据和系统资源。
39 0
|
2月前
|
开发者 前端开发 Apache
【绝不错过!】揭秘Wicket大神级插件,带你飞越编程极限,探索Web应用开发新大陆!
【8月更文挑战第31天】Apache Wicket是一个成熟的Java Web框架,以其组件化体系结构、直观的API及对MVC的支持著称。其活跃社区贡献了大量插件和扩展,显著提升了Wicket的功能性。本文推荐几个实用插件,如**Wicket Ajax Support**,可轻松添加Ajax功能,提升用户体验;**Bootstrap for Wicket**则将Bootstrap与Wicket结合,美化应用界面。
29 0
|
2月前
|
SQL 安全 JavaScript
深入剖析Blazor应用的安全性:从常见Web攻击谈起与传统Web应用的对比与防护策略
【8月更文挑战第31天】本文探讨了Blazor应用的安全策略,通过与传统Web应用的安全措施进行比较,详细分析了如何防范常见的网络攻击。首先介绍了Blazor框架如何通过其基于组件的模型和服务器端DOM控制来减少跨站脚本攻击的风险;接着讨论了使用ORM工具如Entity Framework来预防SQL注入攻击的方法;最后分析了跨站请求伪造攻击,并说明了在Blazor应用中如何利用AntiforgeryToken增强安全性。尽管Blazor提供了许多内置的安全防护,但开发者仍需结合良好的编程习惯来全面保护应用。
31 0
下一篇
无影云桌面