SQLMap入门
什么是SQLMap ?
-
<李>
SQLMap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的url的SQL注入漏洞
内置很多绕过插件,支持的数据库是MySQL,甲骨文,postgreSQL, MicrosftSQL服务器,IBM DB2等
SQLMap采用以下五种独特的SQL注入技术
-
<李>基于布尔值的盲注,即根据返回页面判断条件真假的注入李>
<李>基于时间的盲注,既不能根据页面返回的内容判断任何信息,要利用条件语句查看时间延迟语句是否已经执行来判断李>
<李>基于报错注入,及页面会返回错误信息,或者把注入的语句的结果直接返回到页面中李>
<李>联合查询注入,在可以使用联盟的情况下的注李>
<李>堆查询注入,可以同时执行多条语句时注入李>
SQLMap安装
SQLMap需要python2环境的支持,暂时不支持python3
在官网下载SQLMap SQLMap官网地址
在官网下载Python Python官网地址
在官网下载对应系统的python2版本
下载完成后检查Python环境变量是否安装成功
关于下载安装Python的方法可以参考之前的博客
完成上述内容后
我这里是把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出现信息及成功代码>
SQLMap使用方法
首先我们需要确保上次搭建的sqli-labs的环境成功
确保sqli-labs能够成功访问我们点击下方的少1
点进去以后出现一个黑色的界面显示SQLI哑,1,2,3,5,8
然后我们复制上面的网址
这里我的地址是http://127.0.0.1/sqli-labs-master/Less-1/?id=1
复制完成后我们进入cmd里的sqlmap环境下
这里可以设置cmd的默认路径将cmd的默认路径设置为sqlmap。py的路径
新建一个快捷方式输入cmd创建完成后在属性里更改路径即可
检测目标网页是否存在注入
进入更改完成后的cmd提示出sqlmap的信息
这时候我们使用SQL注入语句来判断目标网址是否存在注入
<代码> sqlmap。py - u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 #检测目标网址是否存在注入代码>
输入完成后回车显示内容如图
检测过程中出现输入Y/N的地方直接回车即可
红框圈出的前四个就是注入的类型根据我们开头讲到的注入类型看一下都是哪些注入类型
<代码>类型:boolean-based盲目#基于布尔值的盲注 类型:偏差#基于报错注入 类型:基于时间的盲目#基于时间的盲注 类型:联合查询#联合查询注入代码>
最后一个红框里可以看到提示的是目标使用的数据库版,本服务器类型,php版本,Apache版本
获取数据库指定的字段内容
这里我们使用SQLMap获取安全数据库下的id密码用户名内容
首先需要确保运行数据库这里我用的是phpmyadmin
这里使用我们搭建漏洞环境时导入的安全库
命令如下
<代码> sqlmap。py - u http://127.0.0.1/sqli-labs-master/Less-1/?安全id=1 - d - t - c用户id、密码,用户名——转储 # - d指定数据库- t数据库下的表名- c指定所需要的列,转储获取所有信息代码>
获取数据库中所有用户
该命令的作用是列出数据库的所有用户,在当前用户有权限读取包含所有用户的表的权限时,使用该命令就可以列出所有的管理用户