• sqlmap使用图解



    1.sqlmap介绍

    💪💪 SQLMap是一个自动化的SOL注入工具,其主要功能是扫描、发现并利用给定URLSQL注入漏洞,内置了根多绕过插件,支持的数据库有MySOL、Microsoft Access、IBM DB2、SQLite、Firebird、PostgreSQL、Microsoft SQL Server.SybaseSAPMaxDB。SQLMap采用了以下5种独特的SQL注入技术。

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

    💎💎 SQLMap的强大的功能包括数据库指纹识别、数据库枚举、数据提取、访问目标文件系统,并在获取完全的操作权限时实行任意命令。SQLMap的功能强大到让人惊叹,当常规的注入工具不能利用SQL注入漏洞进行注入时,使用SQLMap会有意想不到的效果。

    2. sqlmap基础

    2.1.打开sqlmap

    直接输入sqlmap,这里我使用kali演示

    sqlmap下载
    在这里插入图片描述
    **由于有许多人没有sql环境,我这里以真实靶场为例,靶场地址,⚠️⚠️不同人注册后靶场地址不同,注意区分,

    在这里插入图片描述

    点击后进入如下目录

    在这里插入图片描述

    这里我们只讨论sqlmap的使用,不考虑解题过程

    2.2.判断是否存在注入

    sqlmap -u 网址;(当网址后面的参数大于两个的时候,网址要加上英语双引号)

    有些使用sqlmap.py,及把sqlmap换成sqlmap.py,不同sqlmap不同

    在这里插入图片描述

    2.3.判断文件是否存在注入:

    sqlmap -r 文件名(文件名要有正确的路径)
    在这里我们可以使用sqlmap进行抓包,然后进行验证

    在这里插入图片描述

    在这里插入图片描述

    2.4.查询当前数据库下的所有数据库

    sqlmap -u 网址 --dbs

    在这里插入图片描述
    在这里插入图片描述

    在这里我们看到了5个数据库,进入mysql进行测试

    2.5.获取数据库中的表名

    sqlmap -u 网址 -D 数据库 --tables
    在这里插入图片描述
    在这里插入图片描述

    可以看到mysql数据库下面有多个表,进入user表下面看看

    2.6.获取表中的字段名

    sqlmap -u 网址 -D 数据库 -T 表名 --columns

    在这里插入图片描述
    在这里插入图片描述

    可以看到user表下面有多个字段,其中包含敏感字段password,我们可以试一下窃取password

    2.7.获取字段类容

    sqlmap -u 网址 -D 数据库 -T 表名 -C 字段名 --dump
    在这里插入图片描述
    在这里插入图片描述
    如上图所示,可以看到用户名和密码

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

    sqlmap -u 网址 --users
    在这里插入图片描述
    在这里插入图片描述

    2.9.获取数据库密码

    sqlmap -u 网址 --passwords

    在这里插入图片描述
    在这里插入图片描述

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

    sqlmap -u 网址 --current-db

    在这里插入图片描述

    其实我们在进行扫描的时候还可能得到其他重要的信息,比如语言版本,数据库版本,因为有些数据没有进行更新,存在一定的漏洞,如下:

    在这里插入图片描述

    2.11.获取当前网站数据库用户名称

    sqlmap -u 网址 --current-user

    在这里插入图片描述

    3.sqlmap进阶

    3.1参数

    3.1.1 --level 等级

    一共有五个等级(1~5),当然探测等级越高,使用的时间越久,这个参数会影响测试的注入点,GET和POST的数据都会进行测试,HTTP cookies在level为2时就会测试,HTTP User-Agent/Referer头在level为3时就会测试
    不确定哪个Payload或参数为注入点时,为了保证全面性,建议使用高的level值。
    sqlmap -u http://124.70.71.251:41123/new_list.php?id=1 --level 2

    在这里插入图片描述

    3.1.2 --is-dba

    查看当前用户是否为管理员权限
    sqlmap -u http://124.70.71.251:41123/new_list.php?id=1 --is-dba

    在这里插入图片描述

    3.1.3 --roles

    列出数据库管理员角色: sqlmap -u http://124.70.71.251:41123/new_list.php?id=1 --roles

    • 该命令用于查看数据库用户的角色。如果当前用户有权限读取包含所有用户的表,输入该命令会列举出每个用户的角色,也可以用-U参数指定想看哪个用户的角色。该命令仅适用于当前数据库是Oracle的时候

    在这里插入图片描述

    3.1.4 --referer

    查看数据库用户的角色: sqlmap -u http://124.70.71.251:41123/new_list.php?id=1 --referer https://www.baidu.com

    • SQLMap可以在请求中伪造HTTP中的referer,
      当–level参数设定为3或3以上时;
      会尝试对referer注入。可以使用referer命令来欺骗

    3.1.5 --sql-shell

    执行指定的sql语句:select * from user sqlmap -u http://124.70.71.251:41123/new_list.php?id=1 --sql-shell

    在这里插入图片描述

    3.1.6 --os-cmd,--os-shell

    在数据库为MySOL、PostgreSOL或Microsoft SQL Server,并且当前用户有权限使用特定的函数时,如果数据库为MySQL、PostgreSQL,SQLMap上传一个二进制库,包含用户自定义的函数sys exec)和sys eval,那么创建的这两个函数就可以执行系统命令。在Microsoft SQL Server中,SQLMap将使用xp cmdshell存储过程,如果被禁用(在MicrosoftSQLServer2005及以上版本默认被禁制),则SQLMap会重新启用它;如果不存在,会自动创建。
    用–os-shell参数可以模拟一个真实的Shell,输入想执行的命令。当不能执行多语句时(比如PHP或ASP的后端数据库为MySQL),仍然可以使用INTO OUTFILE写进可写目录,创建一个Web后门。–os-shell支持ASP、ASP.NET、JSP和PHP四种语言(要想执行改参数,需要有数据库管理员权限,也就是–is-dba的值要为True)。

    3.1.7 --file-read

    该命令用于读取执行文件,当数据库为MySQL、PostgreSQL或Microsoft SQLServer,并且当前用户有权限使用特定的函数时

    3.1.8 --file-write --file-dest

    该命令用于写入本地文件到服务器中,当数据库为MySQL、PostgreSQL或Microsoft SQL Server,并且当前用户有权限使用特定的函数时,上传的文件可以是文本,也可以是二进制文件。下面以一个MySQL的例子复习–file-write–file-dest参数的用法。

    3.2绕过

    由于小编现在技术有限,绕过方法以后跟新,想要看后续的,可以关注一下博主哦

  • 相关阅读:
    Windows系统使用MinGW编译二维码库Zbar
    【LeetCode:2095. 删除链表的中间节点 + 链表】
    asp.net core rabbitmq的基本使用
    双阴离子中心氨基酸离子液体(DAAAIL)包覆聚乙二醇(PEG)修饰四氧化三铁纳米复合材料(Fe3O4@PEG@DAAAIL)一种新型的磁性萃取剂
    蒜头君破案(stl—set,stl—vector练习)
    概率论的学习整理3: 概率的相关概念
    商城项目04_SpringCloud Alibaba概述、Nacos作为注册、配置中心、声明式远程调用Feign
    微服务实践之全链路追踪(sleuth,zipkin)详解-SpringCloud(2021.0.x)-4
    笔记本电脑的摄像头找不到黑屏解决办法
    本地服务器设置静态ip方法与原理
  • 原文地址:https://blog.csdn.net/qq_53568983/article/details/127457605