WEB常见漏洞(一)-SQL注入漏洞

本文最后更新于:December 3, 2021 pm

WEB常见漏洞(一)。SQL注入漏洞。指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

目录

1.SQL注入特点

1.广泛性
任何一个基于SQL语言的数据库都可能被攻击,很多开发人员在编写Web应用程序时未对从输入参数、Web表单、cookie等接受到的值进行规范性验证和检测,通常会出现SQL注入漏洞。

2.隐蔽性
SQL注入语句一般都嵌入在普通的HTTP请求中,很难与正常语句区分开,所以当前许多防火墙都无法识别予以警告,而且SQL注入变种极多,攻击者可以调整攻击的参数,所以使用传统的方法防御SQL注入效果非常不理想。

3.危害大
攻击者通过SQL注入获取到服务器的库名、表名、字段名,从而获取到整个服务器中的数据,对网站用户的数据安全有极大的威胁。攻击者也可以通过获取到的数据,得到后台管理员的密码,然后对网页页面进行恶意篡改。这样不仅对数据库信息安全造成严重威胁,对整个数据库系统安全也影响重大。

4.操作方便
互联网上有很多SQL注入工具,简单易学,攻击过程简单,不需要专业知识也能自如运用。

2.注入过程

第一步:SQL注入点探测。
第二步:收集后台数据库信息。
第三步:猜解用户名和密码。
第四步:查找Web后台管理入口。
第五步:入侵和破坏。

3.变量类型注入

3.1数字型注入

3.2字符型注入

4.HTTP提交方式注入

4.1GET注入

4.2POST注入

4.3Cookie注入

5.注入手法

5.1盲注

5.1.1基于布尔的盲注

5.1.2基于时间的盲注

5.2联合查询注入

5.3基于错误信息的注入

6.检测技术

6.1动态检测

6.2静态检测

7.防范措施

7.1分级管理

7.2参数传值

7.3基础过滤与二次过滤

7.4使用安全参数

7.5漏洞扫描

7.6多层验证

7.7数据库信息加密

7.7.1对称加密

即加密方和解密方都使用相同的加密算法和密钥,这种方案的密钥的保存非常关键,因为算法是公开的,而密钥是保密的,一旦密匙泄露,黑客仍然可以轻易解密。常见的对称加密算法有:AES、DES等。

7.7.2非对称加密

即使用不同的密钥来进行加解密,密钥被分为公钥和私钥,用私钥加密的数据必须使用公钥来解密,同样用公钥加密的数据必须用对应的私钥来解密,常见的非对称加密算法有:RSA等。

7.7.3不可逆加密

利用哈希算法使数据加密之后无法解密回原数据,这样的哈希算法常用的有:md5、SHA-1等。


本文作者: 墨水记忆
本文链接: https://tothefor.com/DragonOne/1594517239.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!