SqlMap使用手册
admin
2023-06-08 06:21:38
0次

0x00 SQLMAP简介

  • sqlmap是一种开源的***测试工具,可以自动检测和利用SQL注入漏洞以及接入该数据库的服务器。它拥有非常大的检测引擎、具有多种特性的***实测器、通过数据库指纹提取访问底层文件系统并通过外带连接执行命令。

  • 支持的数据库:mysql,oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird,Sybase and SAP MaxDB

  • SQL注入技术:错误注入,基于时间的错误注入,报错注入,union注入

  • 枚举数据:users,password hasher,privileges,roles,databases,tables and columns


0x01 Sqlmap扫描等级(共有7个等级,默认为1)

  • 0、只显示python错误以及严重的信息

  • 1、同时显示基本信息和警告信息。(默认)

  • 2、同时显示debug信息

  • 3、同时显示注入的payload

  • 4、同时显示HTTP请求

  • 5、同时显示HTTP响应头

  • 6、同时显示HTTP响应面


0x02 获取目标方式

  • 参数:-u 或 --url

eg:python sqlmap.py -u http(s)://targeturl[:port]/[...]


0x03 从文本中获取多个目标扫描

  • 参数:-m

  • 文件中保存url格式如下,sqlmap会一个一个检测

www.target1.com/vuln1.php?q=foobar

www.target2.com/vuln2.asp?id=1

www.target3.com/vuln3/id/1*

0x04 从文件中加载HTTP请求

  • 参数: -r

  • sqlmap可以从一个文本中获取HTTP请求,这样就可以跳过设置一些其他参数(比如cookie,POST数据,等等)。

POST /vuln.php HTTP/1.1
Host: www.target.com
User-Agent: Mozilla/4.0

id=1

0x05 POST方式注入

  • 参数: --data

  • 此参数是吧数据以post方式提交,sqlmap会像检测GET参数一样检测POST的参数。

eg:python sqlmap.py -u "http://www.target.com/vuln.php" --data="id=1"

0x06 设定超时时间

  • 参数: --timeout

  • 可以设定一个HTTP(S)请求超过多久判定为超时,10.5表示10.5秒,默认是30秒。


0x07 设定重试超时

  • 参数: --retries

  • 当HTTP(S)超时时,可以设定重新尝试连接次数,默认是3次


0x08 测试参数

  • *

  • 在伪静态注入测试时,sqlmap无法直接使用测试参数,可以在想测试参数的参数后面加*

eg:
1.python sqlmap.py -u "http://targeturl/param1/value1*/param2/value2/"

2.python sqlmap.py -u "http://targeturl/param1/value1/param2/value2/15*"

0x09 列举数据库系统的数据库

  • 参数:--dbs

  • 当前用户有权限读取包含所有数据库列表信息的表中的时候,即可列出所有的数据库。


0x10 列举数据库表

  • 参数: --tables -D

  • 列举指定数据库 -D xxxx 的所有表。如果不指定-D 则列举所有数据库中的所有表。


0x11 列举书库表中的字段


  • 参数:--columns -T -D

  • 列举指定数库,指定表中的字段。

eg:
python sqlmap.py -u "http://192.168.136.131/sqlmap/sqlite/get_int.php?id=1" --columns -D testdb -T users
[...]
Database: SQLite_masterdb
Table: users
[3 columns]
+---------+---------+
| Column  | Type    |
+---------+---------+
| id      | INTEGER |
| name    | TEXT    |
| surname | TEXT    |
+---------+---------+

0x12 获取表中数据个数

  • 参数: --count

  • 列举指定数据库表中的数据个数。

eg:
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       |
+----------------+---------+

0x13 获取整个表的数据或某几个字段的数据。

  • --dump -D -T -C

  • 列举某个数据库某个表的所有字段

python sqlmap.py -u http://192.168.21.129/sqlmap/mssql/iis/get_int.asp?id=1 --dump -D testdb -T dbo.users
  • 列举某个数据库的某个表的某个字段的数据。

python sqlmap.py -u http://192.168.21.129/sqlmap/mssql/iis/get_int.asp?id=1 --dump -D testdb -T dbo.users -C ID,NAME


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...