Sqlmap的使用

#介绍

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 查看全部参数

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构沉思录

Java面试通关宝典(一)

前言 年后是跳槽的高峰期,相信有不少朋友已经跃跃欲试了。想要找到好工作,离不开充分的面试准备。刚好沉思君最近在网上看到一份Java面试知识点,觉得很不错,所以...

3305
来自专栏我是攻城师

关于Hbase多版本存储的一个注意点

45716
来自专栏linux运维学习

linux学习第四十二篇:限定某个目录禁止解析php, 限制user_agent,PHP相关配置

限定某个目录禁止解析php 虚拟主机配置文件添加的核心配置内容: <Directory /data/wwwroot/111.com/upload> ...

2399
来自专栏张戈的专栏

【 ES 私房菜】ElasticSearch 详细部署教程

Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。本文详细介绍了elasticserch的部署...

1.2K1
来自专栏乐沙弥的世界

快速安装及部署DRBD

891
来自专栏Aloys的开发之路

MYSQL常见错误及其解决方式

ERROR 1130: Host 10.0.0.1 is not allowed to connect to this MySQL server 在用远程连接M...

3828
来自专栏实用工具入门教程

如何部署 MySql 集群

MySQL Cluster分布式数据库为MySQL数据库管理系统提供高可用性和吞吐量。MySQL Cluster由一个或多个管理节点(ndb_mgmd)组成,这...

2685
来自专栏华仔的技术笔记

Block类型变量-缓存Http请求与回调

3446
来自专栏Python、Flask、Django

composer的使用

1274
来自专栏农夫安全

sqlmap基础使用详解(以sqli_labs为例)

一、基于错误的GET型注入 如果确定该url下存在注入,直接把url扔到sqlmap 1 先探测当前数据库版本 语句: sqlmap -u http://192...

4518

扫码关注云+社区

领取腾讯云代金券