黑客擅长的sql注入攻击,你真的懂吗?

首先的话 , 我们来仔细搞清楚这个攻击的流程 , 第一步就是了解一下 , 什么是sql?又什么是sql注入、sql注入的流程和步骤 。
1、首先什么是sql , 
Sql是一种数据库查询和程序设计的语言 , 这里的数据库是指存放网站的一些信息数据 , 常见的数据库有:MySQL、access、mssql(sql server)、oracle数据库等等 , 这些数据库被大多数的中小型企业使用 , 专门存放用户的一些网站信息和数据信息 , 通过一些sql语言中一些的命令去增加、删除、改写、查询这些数据 。这个就是sql 。
2、什么是sql注入?
一般来说 , 黑客通过把恶意的sql语句插入到网站的表单提交或者输入域名请求的查询语句 , 最终达到欺骗网站的服务器执行恶意的sql语句 , 通过这些sql语句来获取黑客他们自己想要的一些数据信息和用户信息 , 也就是说如果存在sql注入 , 那么就可以执行sql语句的所有命令
1)sql注入形成的原因
数据库的属于与网站的代码未严格分离 , 当一个黑客提交的参数数据未做充分的检查和防御的话 , 那么黑客的就会输入恶意的sql命令 , 改变了原有的sql命令的语义 , 就会把黑客执行的语句带入到数据库被执行
2)Sql注入的危害 。
这些危害不单单只限于数据库的用户信息泄露 , 通过sql注入也可以恶意的篡改网页 , 也可以写入的网站后门 。数据库服务器被估计 , 数据库的系统管理员账号也会被篡改 , 服务器被远程控制 , 也会破坏硬盘数据、使系统瘫痪 。
3、sql注入的流程和步骤
首先的话 , 上面讲到了增加、删除、改写、查询这些数据 , 简称为:增删改查 。
我们先了解一下什么是提交方式:提交方式是为满足不同的需要 , 与服务器资源进行交互、访问等等
我们常见的提交方式就是GET和POST
首先是GET , get提交方式 , 比如说你要查询一个数据 , 那么查询的代码就会出现在链接当中 , 可以看见我们id=1 , 1就是我们搜索的内容 , 出现了链接当中 , 这种就是get

黑客擅长的sql注入攻击,你真的懂吗?

文章插图
 
第二个是Post提交方式是看不见的 , 需要我们利用工具去看见 , 我们要用到hackbar这款浏览器插件
可以就可以这样去提交 , 在这里我搜索了2 , 那么显示的数据也就不同 , 这个就是数据库的查询功能 , 那么的话 , get提交比post的提交更具有危害性 。
黑客擅长的sql注入攻击,你真的懂吗?

文章插图
 
介绍了提交方式 , 接下来就是我们的sql注入
Sql注入的原理就是客户端提交的数据和命令被带入到数据库被执行 , 从而被黑客恶意的利用 , 
首先这里是一个正常的页面 , 提交的方式是post , 那么我们如何去判断是否存在sql注入?
黑客擅长的sql注入攻击,你真的懂吗?

文章插图
 
判断sql注入我们就要用到一些判断语句
And 1=1 and 1=2 or 1=1 or 1=2 xor 1=1 xor 1=2
首先是and 1=1和and 1=2  , and 1=1在网站id=1的后输入比较以post方式提交 , 那么的话返回的页面是正常 , 因为and是与的意思 , 1等于1吗??1肯定等于1 , 那么这里返回的页面是正常的 , 当然 , 最重要的是 , 这里的sql语句被带入到数据库被执行 , 所以可以判定这里存sql注入 。
黑客擅长的sql注入攻击,你真的懂吗?

文章插图
 
执行了and 1=2之后 , 页面出现了报错 , 因为1不等于2 , 所以这里的页面出现了报错 , 什么数据也没查询出来 , 那么我们可以判定我们输入的语句被带入到数据库被执行 , 所以他这个地方存sql注入
黑客擅长的sql注入攻击,你真的懂吗?

文章插图
 
然后就是or 1=1 or 1=2 ,  到了or 1=2这里 , 返回的页面就是正常的 , 因为前面是真 , 也就是数据存在的 , 后面的1=2不成立就是假 , 所以就是真假为真 , 真真为假 ,  假假为真 , 其实最重要的因素还是sql语句被带入到数据库被执行了 。


推荐阅读