sqlmap使用

原文可进入个人主页查看

1️⃣sqlmap简介??

sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,日前支持的数据库是MS-SQL,MYSQL,ORACLE,POSTGRESQL,DB2,SQLlite,FIrebird。SQLMAP采用四种独特的SQL注入技术,分别是盲推理SQL注入,UNION查询SQL注入,堆查询和基于时间的SQL盲注入。其广泛的功能和选项包括数据库指纹,枚举,数据库提取,访问目标文件系统,并在获取完全操作权限时实行任意命令。sqlmap的功能强大到让你惊叹,常规注入工具不能绕过的话,终极使用sqlmap会有意想不到的效果。


2️⃣五种注入模式??

1.基于布尔的盲注
即可以根据返回页面判断条件真假的注入
2.基于时间的盲注
即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行来判断
3.基于报错注入
基于页面会返回错误信息,或者把注入的语句的结果直接返回到页面当中
4.联合注入onion
使用union的语法进行联合注入
5.对查询注入
可以同时执行多种语句的执行的注入

3️⃣使用??‍♂️

3.1⚫观察数据

  • -v:参数,一共有一个等级,默认为1
    • -v 0 只显示错误信息和严重错误信息
    • -v 1 同时显示信息和警告
    • -v 2 同时显示debug的信息
    • -v 3 同时显示注入的playload
    • -v 4 同时显示http请求
    • -v 5 同时显示http响应头
    • -v 6 同时显示http响应页面

3.2⚫ 获取目标方式?‍♂️

  ⚪直接连接数据库?:-d 实例:sqlmap -d "mysql://user:passwd@192.168.1.1:3306/testdb" -f --banner --dbs --users

  ⚪目标URL??‍♂️:-u / --ur 实例:sqlmap -u "http://www.target.com/index.php?id=1*" -f --banner --dbs --users "*"标记注入点在此,–bannner 显示banner信息 --dbs 读取数据库,–users读取数据库中的users表

  ⚪从Burp或者Webscarab代理中获取日志?:-l 把burp中的日志直接导出来给sqlmap检测,不过在burp可以直接安装sqlmap的插件。

  ⚪多扫描目标扫描?:-m 将url保存在一个文本中,sqlmap遍历扫描。

  ⚪从文件中加载http请求?:-r,将burp中的包导出成文件然后导出.然后使用sqlmap进行扫描注入

  ⚪-c ??‍♂️加载sqlmap.conf文件里的相关配置,在sqlmap里面可以设置各种数据


3.3⚫获取目标方式?

  ⚪提交http数据 参数--data 此参数是将数据以post的方式进行提交,sqlmap会像检测get参数一样检测post的参数实例:sqlmap -u "http://www.taget.com./index.php*" --data="id=1" -f --banner --dbs --users

  ⚪参数拆分字符:--param-del 当post,get提交多个参数时可以用到
实例:sqlmap -u "http://www.target.com/index.php" --data="query=footbal;id=1" --param-del=";" -f --bannner --dbs --users

  ⚪HTTP cookie头:--cookie,--load-cookies,--drop-set-cookie当web应用需要登录时候可以添加cookie来进行登录,cookie可以使用抓包或者浏览器插件来获取.

  ⚪HTTP User-agent头 --user-agent,--random-agent :一般当同一个浏览器用户发起大量数据包时可能被waf之类的防御设备给拦截因此使用随机客户端头可能避免.–random-agent是从./txt/user-agent.txt中获取.当–level参数设置为3或者3以上时,会尝试对user-agnet进行注入.

  ⚪HTTP host,referer头,额外的http头--referer,--host,--headers就可以来手动设置http头中的各个部分

  ?http认证保护:--auth-type,--auth-cred http认证保护中有三种方式:BASIC,DIGEST,NTLM.实例:sqlmap -u “http://www.target.com/index.php?id=1” --auth-type Basic “user:password”

  ⚪使用代理--proxy,--proxy-cred,ignore-proxy

  ⚪使用洋葱匿名 --tor

  ⚪避免过多错误请求被屏蔽--safe-url,--safe-freq


3.4⚫优化

  ⚪ 收集优化-o:用来隐式的设置等价于选项:--keep-alive,--null-connective,--threads=3共同作用

  ⚪输出预测--predict-output用于推测算法顺序检测的值的字符统计预测

  ⚪HTTP活动 --keep-alive将http请求设置为持久型链接

  ⚪HTTP空连接--null-connection可以在盲目注入技术来区分TRUE和False

  ⚪设置并发连接数 --threads


3.5⚫探测

  ⚪测试参数:-p,--skip当使用的level等级较高又有些参数不想测试,则可以使用此参数跳过

  ⚪指定数据库--dbs

  ⚪指定风险等级--risk,共有四个等级,每增加一个等级都会增加测试的语句

  ⚪页面比较--string,--not-string,-regexp,--code


3.5⚫注入技术

  ⚪测试是否是注入--technique

  • B:布尔注入类型(只返回真假类型的注入)
  • E:报错型注入(根据错误信息类型的注入)
  • U:union联合查询注入
  • S:对查询注入
  • T:基于时间延迟的注入

  ⚪ 设定注入的延迟时间--time-sec默认是5秒

  ⚪设定union查询字段数 --union-cols 默认情况下sqlmap测试union查询注入1-10个字段的数,当level是5的时候回增加到50个字段

  ⚪设定union查询使用的字符union-char

  ⚪DNS泄露攻击--dns-domain:如果用户是控制一台机器注册为dns与服务器则可以打开此选项


3.6⚫指纹信息

  ⚪ -f --fingerprint获取指纹信息

3.4 ?优化

  ⚪-b ,--banner 返回数据库系统当前的版本号(主要是调用version()或者@@version,这是根据数据库的不同而定的)

  ⚪--current-user 获取当前管理数据库的内容

  ⚪--current-db 获取当前管理数据库名称

  ⚪--is-dba 判断是否是管理

  ⚪--users 当前用户有权限读取包含所有用户的表的全显示,就可以列出所有管理用户.

  ⚪--passwords 列出并破解数据库用户的hash(仅当当前用户有权限读取包含密码的权限时才生效)

  ⚪---dbs列出数据库中的所有表

  ⚪----tables --exlude-sysdbs -D 列出数据库中所有的表,排除sysdbs

  ⚪--columns -C -T -D列出当前表的列

  ⚪--schema 列出数据库的架构

  ⚪--dump -C -T -D --start --stop --first --last获取整个表的数据

  ⚪dump-all 脱库

最后有个思维sqlmap的思维导图,请移步到个人网站下载www.xierunfa.top

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值