安全测试学习之SQLMap

一、初识 SQLMap

SQLMap 是一个自动化的 SQL 注入工具,其作用是扫描、发现并利用给定 URL 的 SQL 注入漏洞。其可以完成的任务包括:
1)判断可以注入的参数
2)判断可以用哪种sql技术注入
3)识别出数据库类型
4)根据用户选择读取数据

二、5种SQL注入技术

1、基于布尔类型的注入
根据返回页面判断条件真假

2、基于时间的注入
判断时间延迟语句是否执行

3、基于报错注入
页面会返回报错信息

4、联合查询注入
在可以使用union的情况下的注入

5、堆查询注入
可以同时执行多条语句时的注入

三、安装

下载 sqlmap 并放在 python(2.7) 的安装目录下

四、运用

1、判断是否存在注入的命令:

在 windows 命令行下,进入 python 安装目录,执行命令

python sqlmap.py -u http://xxxxxxx/xxxxx

扫描结果通常在C盘 AppData\Local\sqlmap\output’url’ 目录下

2、POST注入

1)拦截POST请求
2)将请求复制到 txt 文件中并保存
3)执行命令

python sqlmap.py -r sql-test.txt -p param

-r 是指定 txt 文件(sql-test.txt),-p 是指定要注入的参数(param)

3、Cookie注入

–level
指定测试的等级,从低到高为1~5,默认为1,当 level 大于等于2时,会执行 cookie 注入,level 大于等于 3 时会测试 User-Agent 和 Referer。如:

sqlmap.py -u”http://xxx.xxxx” --cookie "id=1" --dbs --level 2

五、常用指令

  • -current-user
    获取当前用户名称

  • –users
    获取数据库的所有用户

  • –passwords
    获取用户的密码

  • -current-db
    获取当前数据库名称

  • –dbs
    查询当前用户下的所有数据库

  • -D aaa --tables
    查询数据库aaa中的所有表名

  • -T bbb --columns
    查询表bbb里面所有的列

  • -C ccc,ddd --dump
    下载ccc和ddd这两列的值

  • –is-dba
    判断当前账户是否为管理员用户,返回True或False

  • –roles
    列出数据库用户的角色

  • –sql-shell
    用于运行指定的 sql 语句

  • –tamper //重要指令
    对数据做修改绕过WAF,其自带的脚本可以将 ’ 替换为 \’ 等,常用脚本有 space2plus.py(将空格替换为+)、space2hash.py(将空格替换为#)等

欢迎关注微信公众号,您的支持是对我最大的鼓励
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你不知道的我-

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值