第1章 在windows系统中通过sqlmap注入

1.1 环境搭建

Sqlmap是目前功能最强大,使用最为广泛的注入类工具,是一个开源软件,被集成于kaliLinux,

由于sqlmap是基于Python编写,所以需要在系统中先安装好2.7.x版本的Python,然后将下载好的sqlmap放在Python2.7目录下,这里Python安装我就不一一截图了,因为都是使用默认安装,只是安装的时候根据需要可以修改下安装路径。

在Windows下首先把下载好的sqlmap放在Python路径下

然后我们在此路径下运行sqlmap.py,可以看到可以成功访问sqlmap,以及显示出了版本号

那么我们在kali中直接输入sqlmap就可以了

如果需单独查询版本号,我们需要在后面加一个--version

以上就我们的环境就搭建好啦!

现在就可以开始注入啦!

1.2 注入过程

首先我们在windows系统中,查找下本地的ip

再开一下phpstudy服务

访问url成功,然后复制到sqlmap运行

1.2.1 判断注入类型

在sqlmap下运行

这里的-u是运行指定的url,-u是选项,后面的是参数。这里需要注意的是后面指定的内容需要用双引号引起来。

我们输入命令后就开始检测了,如下图所示。

检测过程中会出现很多提示,我们挨着来看一下

这句话问的是:看起来后端DBMS是“MySQL”。是否要跳过选择其他DBMS的特定测试有效负载?[是/否],这里可以看到Y是大写,大写就是默认值,我们这里手动选择n,然后回车。

这句话问的是:对于其余的测试,是否要包括对“MySQL”扩展提供的级别(1)和风险(1)值的所有测试?[是/否],这里我们还是选择n然后回车。

这里我们就要注意看下面这个提示了,Vulnerable是可被入侵的,看到它我们得两眼发亮,也就是说这个id是个注入点,可进行注入,问我们想想继续其他参数的测试吗?[是/否],这里我们就默认是n,直接回车。

我们可以看到输出结果显示sqlmap用总共45个HTTP<s请求标识了以下注入点:

上面结果显示还可以看到显示的数据库类型是mysql数据库。

以上我们就判断出来了注入点!

我们知道了数据库是mysql,我们就可以开始查看数据库的内容了。

1.2.2 查看数据库的表

以上就是我们查看到的关于mysql数据库里面的所有数据表,有点多哈。我们也可以在sqlmap路径下查看存放的表的内容

在利用sqlmap进行检测的时候,需要注意的是,每次在sqlmap检测一次就会自动保存本次的结果,当下次再执行同样的命令的时候,直接会出现之前已经检测出来的结果,而不会反复进行检测。那么有人会问了,那我就想让它重新检测怎么办??那么我们把之前保存的检测结果删掉就可以了,那么结果保存在哪?看下面图:

如果在c盘用户下没有看到,很有可能就是你的文件被设置成隐藏了。解决办法如下图所示:

好啦!我们现在再用windows系统检测下一步!前面我们已经在windows中猜出我们的表名了,那么现在呢?

那肯定是猜表的字段啦!

1.2.3 查看数据库表的字段

输出结果显示:

由上图结果显示我们可以看到,这个猜解表名的字段直接猜会显示所有表的字段,我们也可以直接选择猜解我们指定的表的字段

输出结果显示

我们在上图看到users这个表中,有username和password,也就是用户名和密码,接下来当然是爆出它们的内容啦!

1.2.4 查看表的字段内容

输入:

解释:-C 指定字段的名字,-T指定表的名字,--dump获得数据库指定字段的内容。

输出结果:

我们用windows做出来了!真棒!

第2章 在kali中通过sqlmap注入

2.1 环境搭建

因为kaliLinux里本身带有Python2.7和sqlmap,所以可以直接使用,不需要搭建环境,是不是很棒呀!

2.2 注入过程

前面我们知道在windows系统中注入过程和结果会自动保存在文件夹,那么在kali中是保存在哪个地方呢?

首先我们在kali中输入ls查看目录

可以看到没有.sqlmap文件耶,

那也就是上面我们说的很有可能是隐藏文件。

那么我们就输入ls –a试一下查看隐藏文件

是不是比上面的要多一些文件了?没错!

但是,emmm..好像没有.sqlmap这个文件,为什么呢?

我们直接查找这个文件试一下?很显然,真的没有!

这是为什么呢?我们没有在kali中做过检测当然没有啦!

好吧,我们在kali中做一下前面在windows中做的

2.2.1 检测是否是注入点

在这里跟在windows中差不多,然后我们看一下提示

第一个提示:判断出来数据库是mysql,问是否需要继续检测是其他类型,我们不需要再检测,按y

第二个提示:为了继续检测,问是否想使用默认的安全级别1和风险级别1吗?我们使用默认是就可以了,直接回车

上面这个这个提示是检测到id是存在可注入的情况,问是否需要检测其他的注入类型,这里我们就不需要了,直接回车,然后我们看一下输出结果,显示的就是盲注类型,跟我们在windows中检测的结果是一样的

2.2.2 检测mysql中包含的数据库

检测出当前所有数据库,输出结果显示为六条数据库

2.2.3 检测当前正在使用的数据库

输出结果显示为当前使用的数据库是security

2.2.4 检测当前正在使用的用户

输出结果显示当前用户为root@localhost

2.2.5 判断当前用户是否为数据库管理员

输出结果显示ture,说明当前用户是数据库管理员

2.2.6 查看数据库中所有的表

输出结果显示数据库中有101个表,这里我就不一一截图了

我们也可以来kali中看看字典文件存放在哪里。

由上图我们可以看到大部分软件都安装在usr/share下

然后我们现在查找一下kali中的sqlmap放在哪里:

输入cd返回到根目录

查看sqlmap的目录路径

进入到目录下查看存放表名的txt文件

用vim编辑器打开存放表文件

也可在表中进行一个编辑,此处添加manage_user,按下-o在下一行进行插入。

好的,在上图中我们在kali中已经查找到我们的表的文件位置了

2.2.7 检测指定数据库security中的表

输出结果显示security数据库中有4个表

2.2.8 检测表users中的字段

输出结果显示

2.2.9 爆出字段内容

输出结果显示:

那么我们现在已经利用kali都做了爆字段内容了,现在再尝试下查看隐藏文件呢??

哇撒!有了!那么我们进入到这个文件夹下看看

是不是有了!哈哈,成功了!

在windows系统和kali中通过sqlmap注入的更多相关文章

  1. 在windows系统和linux系统中查询IP地址命令的不同

    在linux和windows系统上查询IP地址的命令是不一样的.         在linux中的命令行模式下,输入ifconfig即可查询到IP.而在windows系统下要查询IP地址需要先打开do ...

  2. 使用Xshell在Windows系统和Linux系统之间进行文件传输

    版权声明:本文为转载内容. 原博客内容https://blog.csdn.net/love666666shen/article/details/75742077 Windows系统在安装虚拟机cent ...

  3. 安装JDK+Eclipse+Maven+Git/Gitee(windows系统和linux系统)

    1. 安装JDK 官网下载 下载java SE 下载 Java SE 7 1.1 windows配置jdk windows配置jdk 1.2 Ubuntu配置jdk Ubuntu 安装 JDK 7 / ...

  4. 安装Tomcat(windows系统和linux系统)

    Tomcat不管是windows还是Linux版本,都是解压后就再配置一下就可以使用.安装Tomcat前必须先安装JDK,一般我们可以在eclipse中加入Tomcat来开发. 什么是Tomcat? ...

  5. Windows系统和Linux系统下安装Mongodb及可视化页面展示

    一.Windows系统安装MongoDB 下载地址: ​ 官方:http://www.mongodb.org/ ​ 其它:http://dl.mongodb.org/dl/win32/x86_64 下 ...

  6. windows系统和ubuntu虚拟机之间文件共享——samba

    参考:http://www.cnblogs.com/phinecos/archive/2009/06/06/1497717.html 一. samba的安装: sudo apt-get insall  ...

  7. Nginx在Windows系统和Linux系统下的重启

    一.Windows系统下重启nginx 1.杀掉nginx进程 tskill nginx echo 已终止所有ginx进程      2.启动nginx cd f:\nginx-  nginx.exe ...

  8. windows系统和centos双系统安装引导项修改

    在CentOS下修改Linux引导文件:     (1)找到win10的引导 1.首先我们点击第一个系统进入centos           2.运行终端,敲入命令su,为了获取管理员权限,然后终端提 ...

  9. KMSpico软件下载:激活Windows系统和Office工具

    每次都为激活Windows系统 和 Microsoft Offilce 工具头疼,为此特意记录并分享一下激活工具. 上资源:https://pan.baidu.com/s/1kI5YpCO2aYl-r ...

随机推荐

  1. 晶体管放大电路与Multisim仿真学习笔记

    前言 开始写点博客记录学习的点滴,第一篇就写基本的共射极放大电路吧. 很多教材都是偏重理论,而铃木雅臣著作的<晶体管电路设计>是一本很实用的书籍,个人十分推荐! 下面开始我的模电重温之旅吧 ...

  2. (CSDN 迁移) JAVA多线程实现-可回收缓存线程池(newCachedThreadPool)

    在前两篇博客中介绍了单线程化线程池(newSingleThreadExecutor).可控最大并发数线程池(newFixedThreadPool).下面介绍的是第三种newCachedThreadPo ...

  3. “无法从节点xx检索exectask的版本” 原因分析

    客户有一套部署在Window 2008 R2 sp环境下的12.1.0.2 RAC环境,该RAC基于策略管理.因为业务需要,现在需要更换部分设备——踢出两台2路的服务器(节点名称分别为racnode2 ...

  4. 聚焦JavaScript面向对象的思想

    面向对象是一种软件开发方法,是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物.随着时代的发展,计算机被用于解决越来越复杂的问题.一切事物皆对象,通过面向对象的方式,将现实世界的 ...

  5. Nginx为什么可以支持高并发

    Nginx是由一个俄罗斯人专门为解决高并发而开发的 nginx 采用的是多进程+epoll,能实现高并发,其可以支持的并发上限大概是同时支持5W个连接 1 多进程 nginx 在启动后,会有一个 ma ...

  6. Sqlserver (转载)事物与锁

    1   概述 本篇文章简要对事物与锁的分析比较详细,因此就转载了. 2   具体内容 并发可以定义为多个进程同时访问或修改共享数据的能力.处于活动状态而互不干涉的并发用户进程的数量越多,数据库系统的并 ...

  7. aspnetcore identity result.Succeeded SignInManager.IsSignedIn(User) false?

    登陆返回的是 result.Succeeded 为什么跳转到其他页面SignInManager.IsSignedIn(User)为false呢? result.Succeeded _signInMan ...

  8. ZYNQ笔记(3):GPIO的使用(MIO、EMIO)——led灯

    一.GPIO原理 1.GPIO介绍 程序员通过软件代码可以独立和动态地对每个 GPIO 进行控制,使其作为输入.输出或中断. (1)通过一个加载指令,软件可以读取一个 GPIO 组内所有 GPIO 的 ...

  9. RabbitMQ入门详解以及使用

    目的: RabbitMQ简介 RabbitMQ安装及使用 Centos安装 Docker安装(今天选择Docker安装方法) RabbitMQ快速入门 交换机 RabbitMQ简介 各大主流中间件对比 ...

  10. 关键字ref、out

    通常,变量作为参数进行传递时,不论在方法内进行了什么操作,其原始初始化的值都不会被影响: 例如: public void TestFun1() { ; TestFun2(arg); Console.W ...