大数跨境

干货来了 | SQL注入原理之解析

干货来了 | SQL注入原理之解析 河北镌远网络科技有限公司
2019-10-23
1
导读:干货来了 | SQL注入原理之解析


1、什么是SQL注入呢?

     所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

 

     通过这张图可以更直观的了解到sql注入的原理。


      

2、 SQL注入威胁表现形式可以体现为以下几点:


●绕过认证,获得非法权限

      ●猜解后台数据库全部的信息

      ●注入可以借助数据库的存储过程进行提权等操作

      ●SQL注入攻击的典型手段

      ●判断应用程序是否存在注入漏洞

      ●收集信息、并判断数据库类型

      ●根据注入参数类型,重构SQL语句的原貌

      ●猜解表名、字段名

      ●获取账户信息、攻击web或为下一步攻击做准备


3、SQL注入攻击原理:

      SQL注射能使攻击者绕过认证机制,完全控制远程服务器上的数据库。SQL是结构化查询语言的简称,它是访问数据库的事实标准。目前,大多数Web应用都使用SQL数据库来存放应用程序的数据。几乎所有的Web应用在后台都使用某种SQL数据库。跟大多数语言一样,SQL语法允许数据库命令和用户数据混杂在一起的。如果开发人员不细心的话,用户数据就有可能被解释成命令, 这样的话,远程用户就不仅能向Web应用输入数据,而且还可以在数据库上执行任意命令了。

      SQL注入式攻击的主要形式有两种。一是直接将代码插入到与SQL命令串联在一起并使得其以执行的用户输入变量。上面笔者举的例子就是采用了这种方法。由于其直接与SQL语句捆绑,故也被称为直接注入式攻击法。二是一种间接的攻击方法,它将恶意代码注入要在表中存储或者作为原书据存储的字符串。在存储的字符串中会连接到一个动态的SQL命令中,以执行一些恶意的SQL代码。注入过程的工作方式是提前终止文本字符串,然后追加一个新的命令。如以直接注入式攻击为例。就是在用户输入变量的时候,先用一个分号结束当前的语句。然后再插入一个恶意SQL语句即可。由于插入的命令可能在执行前追加其他字符串,因此攻击者常常用注释标记“—”来终止注入的字符串。执行时,系统会认为此后语句位注释,故后续的文本将被忽略,不背编译与执行。


SQL注入危害:攻击者可以获得网站敏感信息,例如:网站管理员的用户名以及密码。从而对网站的信息进行窃取或篡改。


这里我们举一个比较常见的例子来简要说明一下sql注入的原理。假如我们有一个users表,里面有两个字段username和password。在我们的java代码中我们初学者都习惯用sql拼接的方式进行用户验证。比如:“select id from users where username = ‘”+username +“’ and password = ‘” + password +“’” 这里的username和password都是我们存取从web表单获得的数据。下面我们来看一下一种简单的注入,如果我们在表单中username的输入框中输入‘ or 1=1-- ,password的表单中随便输入一些东西,假如这里输入123.此时我们所要执行的sql语句就变成了select id from users where username = ’‘ or 1=1-- and password = ’123‘,我们来看一下这个sql,因为1=1是true,后面 and password = ’123‘被注释掉了。所以这里完全跳过了sql验证。这里只是简单的举一个例子。很多sql注入的方式还有很多。

       通过以上三点了解一下SQL注入这种功能方式的原理并学会如何通过代码来保护自己的网站数据库。


关于我们:

 河北镌远网络科技有限公司(Hebei JYCYBER TechnologyCo.,Ltd.)是一家集人才、技术和经验于一体的,提供全面网络安全解决方案的专业服务商。镌远科技致力于为各行业的网络安全需求提供软件研发和通用解决方案,业务领域主要包括基础服务、咨询业务、产品研发和安全培训四大版块,各版块相互独立又相辅相成,完美阐释了“专业服务、全程服务、延伸服务”的服务体系和“单一业务与长远目标相融合”的服务理念。

 

关注镌远科技,关注网络安全!

 

河北地址:河北镌远网络科技有限公司

河北省邯郸市丛台区中华北大街193号慧谷大厦14层

总部地址:北京冠程科技有限公司

北京市昌平区科技园区东区产业基地企业墅上区一号楼九单元四层

实训基地:河北省石家庄市电子信息学校冠程科技研究与实训中心


 欢迎扫描关注我们,及时了解更多关于网络安全相关知识




【声明】内容源于网络
0
0
河北镌远网络科技有限公司
河北镌远网络科技有限公司是一家集人才、经验、技术于一体的,提供全面系统集成解决方案的专业IT服务商。公司致力于为各个行业的业务信息化提供软件和通用解决方案、系统架构,系统管理和数据安全服务、以及IT咨询规划、系统集成与系统服务等专业化服务。
内容 0
粉丝 0
河北镌远网络科技有限公司 河北镌远网络科技有限公司是一家集人才、经验、技术于一体的,提供全面系统集成解决方案的专业IT服务商。公司致力于为各个行业的业务信息化提供软件和通用解决方案、系统架构,系统管理和数据安全服务、以及IT咨询规划、系统集成与系统服务等专业化服务。
总阅读0
粉丝0
内容0