SQLMap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的url的SQL注入漏洞
内置不少绕过插件,支持的数据库是MySQL、Oracle、postgreSQL、MicrosftSQL server、IBM DB2等php
SQLMap采用如下五种独特的SQL注入技术python
SQLMap须要python2环境的支持,暂时不支持python3
在官网下载SQLMap sqlmap官网地址
在官网下载Python python官网地址
在官网下载对应系统的python2版本
下载完成后 检查python环境变量是否安装成功
关于下载安装python的方法能够参考以前的博客sql
完成上述内容后
我这里是把python和SQLMap放到了C盘下 具体状况根据实际状况来设定
把下载好的SQLMap文件夹放到Python2的文件夹中
打开CMD
先检查pytho的环境是否安装成功
将cmd的路径切换到python的安装路径下
我这里是下载到C盘的根目录下数据库
cd / 切换到 c盘根目录下 python 检查pytho的环境 出现python的版本及成功 cd /python2/sqlmap/sqlmap.py 将路径切换到sqlmap下的sqlmap.py # 具体的路径根据实际状况设定 不知道sqlmap.py文件在哪的话能够进入文件夹后dir查看一下,运行sqlmap.py出现信息及成功
首先咱们须要确保上次搭建的sqli-labs的环境成功
确保sqli-labs可以成功访问 咱们点击下方的Less 1服务器
点进去之后出现一个黑色的界面 显示 SQLI DUMB SERIES-1
而后咱们复制上面的网址
这里个人地址是 http://127.0.0.1/sqli-labs-master/Less-1/?id=1
复制完成后咱们进入cmd里的sqlmap环境下
这里能够设置cmd的默认路径 将cmd的默认路径设置为sqlmap.py的路径
新建一个快捷方式 输入cmd 建立完成后在属性里更改路径便可ide
进入更改完成后的cmd 提示出sqlmap的信息
这时候咱们使用SQL注入语句来判断目标网址是否存在注入工具
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 #检测目标网址是否存在注入
输入完成后回车 显示内容如图
检测过程当中出现输入Y/N的地方直接回车便可post
红框圈出的前四个就是注入的类型 根据咱们开头讲到的注入类型看一下都是哪些注入类型学习
Type: boolean-based blind # 基于布尔值的盲注 Type: error-based # 基于报错注入 Type: time-based blind # 基于时间的盲注 Type: UNION query # 联合查询注入
最后一个红框里能够看到提示的是目标使用的数据库版本、服务器类型、php版本、Apache版本网站
这里咱们使用SQLMap获取security数据库下的id password username内容
首先须要确保运行数据库 这里我用的是phpmyadmin
这里使用咱们搭建漏洞环境时导入的security库
命令以下
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 -D security -T users -C id,password,username --dump # -D 指定数据库 -T 数据库下的表名 -C 指定所须要的列 --dump获取全部信息
该命令的做用是列出数据库的全部用户,在当前用户有权限读取包含全部用户的表的权限时,使用该命令就能够列出全部的管理用户
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --users
该命令的做用是列出数据库的用户的密码,若是当前用户有读取包含用户密码的权限,sqlmap会列出用户,而后列出hash,并尝试破解
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --passwords
咱们看到这里列出了 数据库密码的哈希值,假如说咱们这里没有破解出来,咱们能够复制这个 password hash 的值
把这个值拿到破解网站上取尝试破解
这里咱们拿图上的password hash 作个示范
password hash :*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
关于python环境,若是在安装向导的时候选择的Add Path 的这个选项话
后面就不须要手动添加python环境了
若是忘记勾选这个选项了咱们须要在个人电脑--管理--高级设置--环境变量中手动添加python的安装路径来添加python环境
详细的内容能够参考以前的博客
只要命令没有敲错的 通常是不会有什么问题的
检查一下本身语句是否正确或者检查sqli-labs那个网页的地址是否跟实际输入的同样
请使用本身搭建的漏洞环境,切勿用于非法的用途,仅供学习初学SQL注入,若是有写的不周到的地方能够还请见谅上次的搭建的漏洞环境和SQLMap必定要注意本身输入的路径是否正确