关注我们

Sqlmap的使用

LzersLzers 安全工具 2018-05-22 729771 0

#介绍

Sqlmap是开源的自动化SQL注入工具,由Python(2)写成,具有如下特点:

    *完全支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。

    *完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。

    *在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。

    *支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列。

    *支持自动识别密码哈希格式并通过字典破解密码哈希。

    *支持完全地下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载某一列中的部分数据,这完全取决于用户的选择。

    *支持在数据库管理系统中搜索指定的数据库名、表名或列名

    *当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持下载或上传文件。

    *当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持执行任意命令并回现标准输出。

--- 去年只是对一些靶机用过sqlmap,效果挺好,只是过了一段时间就会忘记具体怎么用了,开个笔记记一下一些参数。

#实例 --- ##参数 ---

基本的

1.获取基本信息 -b

2.暴库 --dbms

3.显示web当前使用的数据库 --current-db

4. web数据库使用账户 --current-user

5.列出Sqlserver所有用户 --users    

6.数据库账户与密码 --passwords

7.列出数据库中的表 -D [数据库名] --tables

8.列出表中字段 -D [数据库名] –T [要列出的表] --columns

9.暴字段内容 -D [数据库名] –T [要暴的表] –C “email,Username,password”(即要暴的字段) --dump  Dump就是将结果导出

-u 指定目标url

使用参数“-u”或“–url”指定一个URL作为目标,该参数后跟一个表示URL的字符串,可以是http协议也可以是https协议,还可以指定端口

使用:

python2 sqlmap.py -u “http://www.testfire.net/search.aspx?txtSearch=1"


-m 从文本文件中批量指定url

参数“-u”一次只能指定一个URL,若有多个URL需要测试就显得很不方便,我们可用将多个URL以一行一个的格式保存在文本文件中,然后使用参数“-m”,后跟该文本文件路径,让Sqlmap依次读取文件中的URL作为攻击目标。

文本格式,一行一个url

使用:

python2 sqlmap.py -m url.txt –batch

-data POST数据

该参数指定的数据会被作为POST数据提交,Sqlmap也会检测该参数指定数据是否存在注入漏洞。

使用:

python2 sqlmap.py -u “http://target.com/user.php" –data=”id=0&name=test”

-level 检测级别

此参数用于指定检测级别,有1~5共5级。默认为1,表示做最少的检测,相应的,5级表示做最多的检测。

-l 从burp的代理日志中解析目标

-l指定一个日志文件(.log),sqlmap从该日志中解析出可能的攻击目标,并逐个尝试进行注入。参数后跟一个日志文件路径

需要在burp中先设置,具体是project-options-misc-logging-proxy-requests打勾

使用:

python2 sqlmap.py -l burp_log/proxy.log –batch

因为这个日志文件往往很大,sqlmap每碰到一个url就会询问是否test,所以用batch参数可以默认全部确定。

还可以–scope参数正则过滤日志

-d 直接连接数据库

该参数后跟一个表示数据库的字符串,该字符串有以下两种格式:

(1).当数据库管理系统是MySQL、Oracle、Microsoft SQL Server或PostgreSQL等时格式为:

  DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME

(2).当数据库管理系统是SQLite、Microsoft Access或Firebird等时格式为:

  DBMS://DATABASE_FILEPATH


使用:如连接本地mysql,需要安装py2的pymysql模块。

python2 sqlmap.py -d “mysql://root:yr_pwd@127.0.0.1:3306/test_db”

-v 输出信息级别

各个输出级别的描述如下:

    0:只显示Python的tracebacks信息、错误信息[ERROR]和关键信息[CRITICAL];

    1:同时显示普通信息[INFO]和警告信息[WARNING];

    2:同时显示调试信息[DEBUG];

    3:同时显示注入使用的攻击荷载;

    4:同时显示HTTP请求;

    5:同时显示HTTP响应头;

    6:同时显示HTTP响应体。

使用: python2 sqlmap.py -v 3

-h 查看基本参数

python2 sqlmap.py -h

-hh 查看全部参数


版权声明

本文仅代表作者观点,不代表黑白网立场。
如文章侵犯了您的权利,请通过邮箱联系我们删除。
详情查看:版权纠纷
E-Mail:server@heibai.org

喜欢1评论已闭