![黑客擅长的sql注入攻击,你真的懂吗?](http://img.jiangsulong.com/220407/0951341122-5.jpg)
文章插图
那么我们如何去利用sql注入获取我们想要的信息?
判定完是否存在sql语句后 , 我们这里整理出sql注入的步骤 , 1、判断是否存在sql注入 2、查询 怎么查询有几个列名?我们就要使用到order by 3、显示可注入的位置 4、显示数据库名、显示数据库的某个表名、显示数据库的某个表名的某个列名、最后显示数据 。
那我们前面判断了是否存在sql注入 , 那么我们就可以用order by 来猜列数
首先输入order by 4 他这里报错了 , 提示我们没有4个列数
![黑客擅长的sql注入攻击,你真的懂吗?](http://img.jiangsulong.com/220407/0951344519-6.jpg)
文章插图
输入order by 3的话 , 他这里就返回了正常的页面 , 说明列数有3个
![黑客擅长的sql注入攻击,你真的懂吗?](http://img.jiangsulong.com/220407/0951344T6-7.jpg)
文章插图
知道了列数有3个之后 , 我们就需要显示字段位了 , 也就是可以注入的位置
那么我们执行了and 1=2 union select 1,2,3 就成功显示了字段位 , 为什么要前面加了and 1=2?这是因为要让前面报错 , 后面的union select查询语句才能被执行 , 最终显示出了注入攻击的位置
![黑客擅长的sql注入攻击,你真的懂吗?](http://img.jiangsulong.com/220407/0951345160-8.jpg)
文章插图
显示出了2和3的位置 , 也就是说2和3是可注入和查询的位置 , 那么的话 , 我们这里要用到机个内置的函数 database()(显示出当前的数据库名)、user()(当前用户名) version()(mysql数据库版本信息)、@@datadir 读取数据库路径、@@basedirmysql安装路径、table_name显示表名、column_name显示列名
知道了上面的几个数据库函数后 , 我们前面讲到sql注入的步骤 , 第一步就是获取当前网站的数据库名 , 因为数据库有很多不同的数据库和名字 。也有很多不同的网站、
显示当前的数据库名
我们把2替换成了database()函数 , 知道了当前网站的数据库为security , 那么我们接下来是猜security的表名 。
![黑客擅长的sql注入攻击,你真的懂吗?](http://img.jiangsulong.com/220407/0951343301-9.jpg)
文章插图
猜表名的话 , 我们就需要以下语句
information_schema是mysql自带的数据库 , 点号代表下一级的意思 , 就查出了一个表名
![黑客擅长的sql注入攻击,你真的懂吗?](http://img.jiangsulong.com/220407/09513410S-10.jpg)
文章插图
如果要查当前网站的表名 , 我们就得加一个where table_schema='数据库名'
于是就查询出了当前的数据库的其中一个表名
![黑客擅长的sql注入攻击,你真的懂吗?](http://img.jiangsulong.com/220407/0951345463-11.jpg)
文章插图
那么如果要列出所有的表名 , 我们这里要用到group_concat()函数 , 他这个函数代表所有的意思 , 列出了数据库中的所有表名 , 一共有四个
![黑客擅长的sql注入攻击,你真的懂吗?](http://img.jiangsulong.com/220407/09513410Q-12.jpg)
文章插图
那么问题来了 , 如果说我们要从中获取数据 , 我们应该从哪个表名开始?一方面是从users表名 , 因为user的中文意思是用户 , 那么他这里就有可能存用户的信息 , 第二个是admin , admin是后台的意思 , 那么的话 , 我们就可以先从这些表开始去弄列名
首先我们选取了users表名 , 我们要列出所有的列名的话 , 我们就需要改一下语句 , 把table改为column
可以看见我把table改为了column , 然后后面用table_name=’表名’指定我们要查询这个表名中的所有列 , 于是网站就显示出了id、username、password三个列名
![黑客擅长的sql注入攻击,你真的懂吗?](http://img.jiangsulong.com/220407/0951344R0-13.jpg)
文章插图
知道了列名之后 , 接着就是显示列名里面的数据 , 显示数据就不用那么麻烦了 , 只要知道列名和用from指定表名 , 那么页面就会显示出用户的邮箱和账号密码了
![黑客擅长的sql注入攻击,你真的懂吗?](http://img.jiangsulong.com/220407/0951346254-14.jpg)
文章插图
好 , 那么这个就是一方面sql注入的基础 。
最后喜欢我文章的朋友请加圈子关注我们 , 私信关键词:加群 。
就会自动分享给你群号 。欢迎大家加入我们的安全大家庭 。提高大家的安全意识 , 提升大家的网络安全技能一直是我们的初衷和愿景 , 让我们共同成为守护信息世界的“SaFeMAN” 。
推荐阅读
- 黑客如何攻破智能摄像头?
- 黑客终端很都炫酷,但是你知道怎么设置吗?Linux设置终端界面
- 「黑客工具」Web渗透测试-DVWA的暴力破解操作
- 黑客必学知识点--如何轻松绕过CDN,找到真实的IP地址
- 人生杯茶
- 世界上最长的街道 多伦多央街地图
- 片韵味悠长的叶子 关于茶你知道多少
- 想学黑客?你得会搭建黑客训练靶场 - Vulhub
- 中国最长的河是什么河?大约长多少千米? 中国最宽的河多少米
- 来看看黑客们都爱用哪些工具?Top 5 黑客工具排行