首页 > 代码库 > sqlmap使用笔记

sqlmap使用笔记

sqlmap使用笔记

 Sqlmap简介

  官方网址:http://sqlmap.org

  Github地址:https://github.com/sqlmapproject/sqlmap

  中文使用说明:http://www.91ri.org/6775.html

Sqlmap是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数据库的服务器。它拥有非常强大的检测引擎、具有多种特性的渗透测试器、通过数据库指纹提取访问底层文件系统并通过外带连接执行命令。

支持的数据库:MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MaxDB 

SQL注入技术:boolean-based blind, time-based blind, error-based, UNION query, stacked queries and out-of-band

枚举数据:users, password hashes, privileges, roles, databases, tables and columns

......具体参考官网

 Sqlmap安装

 

  Sqlmap需要安装在linux系统下,这里将采用Ubuntu14.04+sqlmap来安装。

  1.  准备Ubuntu14.04,配置网络,安装Python2.7.8
  2.  下载sqlmap,两种方式:

    a)       直接在https://github.com/sqlmapproject/sqlmap下载

    b)      利用git命令:

        git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev

  3.  保证Python安装成功,运行python出现版本信息

  4.  此时运行进入XX/XX/sqlmap-dev文件夹,运行

    python sqlmap.py –h可以得到一个基本的参数说明

    python sqlmap.py –hh 可以得到一个详细的参数说明 

       需要注意,sqlmap有些功能需要第三方库的支持,如果某些参数命令需要安装第三方库请自行下载安装

 Sqlmap使用

官方地址:点击

Sqlmap的参数说明很长,尤其是在-hh参数下的帮助文档更为详细。

1.信息显示

-v 可以设置6个等级,用来控制显示不同的信息,一般选3就行了

2.选择目标

-d 直接连接目标数据库

-u 连接目标url地址,常用,注意后面的id=*,没有是不行的

-m 可以连接多个目标

-g 通过google dork来选择目标(什么是google dork?,就是在Google上搜你需要攻击的漏洞类型,看图,也就是谷歌搜索后得到的地址)

3.漏洞扫描

输入下面的命令,对该网址进行漏洞检测(说明一点,不是所有都有漏洞):

输入后程序开始运行,出现下面这个图,说明sqlmap开始对这个url进行漏洞检测。

 

从结果中,可以得到该服务器的操作系统为windows 2003或XP

数据库的类型是Microsoft Access。

枚举:

-a 检索所有内容

--dbs扫描数据库信息

--tables 列出数据库所有的表信息

--columns 列出数据库表中的所有字段信息

--current-db 列出当前的数据库名称

--roles 枚举用户

--dump-all 列所有表的内容

--exclude-sysdbs 列举用户数据库的表内容

--common-tables暴力破解表

….此处省略

 

再次输入命令:

从图中,可以得到数据库名称Microsoft_Access_masterdb,其中有四个表分别为company,news,products,userinfo

试试能不能枚举用户名称,输入命令:

。。。居然提示,Microsoft Access不可以进行这样的枚举

试试枚举所有表的信息,那么输入命令:

那么,看看products表中的详细信息,输入命令:

等结果时候有点慢,就ctrl+c给结束了,可以看部分内容,如下图:


PS:只是简单的介绍下使用的基本操作,用于安全软件测试,作者也是在学习,说实话没啥意思,虽然很不愿意干这事,工作没办法

流弊的sqlmap渗透:渗透126网盘、使用sqlmap进行SQL注入

 

sqlmap使用笔记