小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET

SqlMap自动注入(一)

sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞【动态页面中get/post参数cookieHTTP头】。它由Python语言开发而成,因此运行需要安装python环境。但在kali中已经集成。其功能完善,有强大的引擎,适用几乎所有数据库,,可自动进行数据榨取,也可对检测与利用的自动化处理(数据库指纹、访问底层文件系统、执行操作系统命令),还可以做XSS漏洞检测Windows SQLmap教程

注意:sqlmap只是用来检测和利用sql注入点的,并不能扫描出网站有哪些漏洞,使用前请先使用扫描工具扫出sql注入点。

五种漏洞检测技术

1、基于布尔的盲注测试

2、基于时间的盲注检测【若是该语句可以在服务器中运行,则按指定时间返回,若不能执行,返回错误或正常页面】

'and (select*from (select(sleep(20)))a)--+

3、基于错误的检测

4、基于UNION联合查询的检测

前提:使用于通过for/while循环直接输出联合查询结果,即SQL语句在循环内,否则只会显示第一项结果

5、基于堆叠查询的检测

通过分号(;)堆叠多个查询语句

使用于非select的数据修改、删除的操作

支持的数据库管理系统DBMS

MySQL、Oracle、PostgreSQL、Microsoft SQL Server, Microsoft Access,IBM DB2, SQLite,Firebird, Sybase , SAP MaxDB

SQL其他特性

1、数据库直接连接 -d

不通过SQL注入,指定身份认证信息【前提有数据库管理系统的相应权限】、IP、端口

2、与burpsuite、Google结合使用,支持正则表达式限定测试目标

3、Get、Post、Cookie、Referer、User-Agent(随机或指定)

Cookie过期后自动处理Set-Cookie头、更新Cookie信息【不用担心扫描过程中,cookie过期】

4、限速:最大编发、延迟发送

5、支持Basic,Digeset,NTLM,CA身份认证

6、数据库版本、用户、权限、hash枚举和字典破解、暴力破解表列名称【可使用内建字典,也可以使用自定义字典】

7、文件上传下载、UDF、启动并执行存储过程、操作系统命令执行、访问windows注册表

8、与W3af、metasploit集成结合使用,基于数据库服务进程提权和上传执行后门

SQLMAP安装【kali已集成,随kali库更新而更新】

其他linux系统

apt-get install git

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

Kali中更新

sqlmap --update  【或者apt-get update;apt-get upgrade】                 在线更新,有可能出错【使用kali官方维护版】

git clone https://github.com/sqlmapproject/sqlmap.git          #离线更新

git pull                                                                             #

功能详情

Sqlmap –h             常用参数列表

Sqlmap –hh            所有参数列表

Sqlmap –v              显示详细信息(有七个等级0-6,默认为1)

七大类

指定目标[Target]

-d           直接连接数据库服务侦听端口,相当于数据库客户端程序

-u           指定URL,一定要存在参数变量http://www.site.com/vuln.php?id=1

-l            后跟logfile,logfile可以来自burp或webScarab等代理程序,将其记录日志记录下来,将logfile作为源文件,sqlmap对里面的URL,逐个进行检查,判断是否有注入点

-x           站点地图,以xml形式,提交给sqlmap

-m         指定URL地址文件[.txt],集中扫描

-r           指定http头信息和body信息文件

-g           使用Google,可添加正则表达式进行过滤

-c           指定sqlmap命令参数集成扫描配置文件

示例

1、 最简单的利用方法()

【<GET方法>

Sqlmap –u http://192.168.1.107/mutillidae/index.php?page=user-info.php&username=1&password=1&user-info-php-submit-button=View+Account+Details

【可使用-p:指定检查变量(username);-f:检查数据库 指纹信息】

小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET

小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET

【--users:查当前的数据库的账号】

小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET

小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET

【--banner:查看数据库版本信息】

小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET

【--dbs:查看数据库中有哪些库】

小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET

【--schema:查元数据库(内容居多)】

【-a:查所有能查的数据(自带哈希值另存,哈希值字典破解)】

-d:前提有数据库管理系统的连接账号密码                【速度相对更快】

Sqlmap –d “mysql://user:password@192.168.1.107:3306/dvwa” –f –users –banner –dbs –schema –a             【端口可用扫描得到】

小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET

-m:扫描URL列表文件

Sqlmap –u list.txt

-g:扫描Google搜索结果【需要做代理链】

Sqlmap.py –g “inurl:\”.php?id=1\””

【<POST>

使用http请求文件(burpsuite)

Sqlmap –r request.txt

##将burpsuite中截获的http请求复制黏贴成一个文本文件

使用burpsuite log文件【先到option中配置要记录的log文件】

小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET

Sqlmap –l log.txt

【< HTTPS >

Sqlmap –u https://1.1.1.1/a.php?id=1:443 –force-ssl

【<  扫描配置文件 >(可将扫描参数集成为一个配置文件)

Sqlmap –c sqlmap.conf

默认的配置文件

/etc/sqlmap/sqlmap.conf

小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET

上一篇:ExceptionLess 本地部署小结


下一篇:JS 工具 构建工具