sqlmap使用

sqlmap支持的数据库

  1. MySql
  2. Oracle
  3. PostgreSQL
  4. Microsoft SQL Server
  5. Microsoft Access
  6. IBM DB2
  7. SQLite
  8. Firebird
  9. Sybase
  10. SAP MaxDB

Sqlmap支持的sql注入技术

  1. 基于布尔类型的盲注:可以根据返回页面判断条件真假的注入
  2. 基于时间的盲注:不能根据页面返回的内容判断任何信息,要用条件语句查看时间延迟语句是否已经执行(即页面返回时间是否增加)来判断。
  3. 基于报错的注入:页面会返回报错信息,或把注入语句的返回结果直接返回到页面中显示
  4. 联合查询注入:union select
  5. 堆叠查询注入:可以同时执行多条sql语句

Sqlmap基本命令

  1. 判断是否存在注入,如果?后参数有多个则url需要加""

python sqlmap.py -u “url”

  1. 判断文本中的请求是否存在注入

python sqlmap.py -r 1.txt //1.txt为web请求数据包

  1. 查询当前用户下的所有数据库

python sqlmap.py -u “url” --dbs

  1. 获取数据库中的表明

python sqlmap.py -u “url” -D databaseNmae --tables

  1. 获取表中的字段名

python sqlmap.py -u “url” -D databaseName -T tableName --columns

  1. 获取字段内容

python sqlmap.py -u “url” -D 数据库名 -T 表名 -C 列名 --dump

  1. 获取数据库的所有用户

python sqlmap.py -u “url” --users

  1. 获取数据库用户的密码

python sqlmap.py -u “url” --password

  1. 获取当前网站的数据库的名称

python sqlmap.py -u “url” --current-db
10.获取当前网站数据库的用户名
python sqlmap.py -u “url” --current-user

sqlmap进阶

  1. –level 5:探测等级
    sqlmap支持5个等级的测试,5级payload最多,1级payload最少,不加–level x则默认是1。

  2. –is-dba:当前用户是否为管理权限

  3. –roles:列出数据库管理用角色
    例如:python2 sqlmap.py -u http://sql/Less-2/?id=1 --roles ,如果当前用户权限足够,那么这条命令可以查看数据库用户的角色。我从书上看到的是该命令只能用于oracle数据库,但是我本地搭建的sqli-labs用的是mysql数据库,也能用这条命令。此外,可以使用 -U参数指定查看哪一个用户的角色。

  4. –referer:HTTP Refer头
    当sqlmap的 --level x,x>=3时,会尝试对referer来注入,可以尝试使用–referer http://www.baidu.com 之类的进行欺骗。

  5. –sql-shell:运行自定义sql语句
    可以通过python2 sqlmap.py -u http://sql/Less-2/?id=1 --sql-shell这样的语句来打开一个如下sql语句输入的地方。
    在这里插入图片描述

  6. –os-cmd,–os-shell:运行任意操作系统命令
    菜鸟还没有学会,只是知道可以这么用。

  7. –file-read:从数据库服务器中读取文件

  8. –file-write–file-dest:上传文件到数据库服务器中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值