sqlmap使用教程(1)

发布时间:2024年01月22日

一、sqlmap简介

????????sqlmap是一个自动化SQL注入测试工具,它支持的数据库有MySQL、MSSQL、Oracle、PostgreSQL、Access、IBM DB2、SQLite、Firebird、Sybase和SAP MaxDB。sqlmap默认使用以下5种SQL注入技术:

  • 基于布尔的盲注:根据返回页面判断条件真假的注入。
  • 基于时间的盲注:当不能根据页面返回内容判断任何信息时,根据时间延迟语句是否执行(即页面 返回时间是否增加)进行判断。
  • 基于错误的注入:根据页面返回的错误信息,或者注入语句的结果是否被包含在页面进行判断。
  • 联合查询注入:根据UNION语句注入的结果进行判断。
  • 堆叠注入:根据执行多条SQL语句注入的结果进行判断

二、sqlmap注入流程

为了更好的理解sqlmap,有必要了解下sqlmap的工作流程:

三、启动sqlmap

kali中已经预装了sqlmap(kali的安装过程在网络安全专栏有介绍)

四、sqlmap基本使用

4.1 查看版本信息

sqlmap提供了选项--version,可以用来查看版本信息。记忆:version是一个完整的英文单词,中文意思为版本。

4.2 更新sqlmap
sqlmap提供了选项--update,可以将sqlmap更新到最新版本。记忆:update是一个完整的英文单词,中文意思为更新。

4.3 使用INI配置文件

使用sqlmap时,通常会使用常见的组合进行SQL注入探测。为了避免每次都重复输入一长串命令,用户可以将执行的命令保存到INI配置文件中。

sqlmap提供了选项--save,可以将选项保存到INI配置文件中。记忆:save是一个完整的英文单词,中文意思为保存。

使用配置文件,用-c选项

记忆:c是英文单词configurge(配置)的首字母

4.4? 设置冗余级别
冗余级别的作用是使输出信息的详细程度有所不同。共有7个冗余级别,即0~6。
0:只显示Python错误及关键的信息。
1:同时显示基本信息和警告信息。
2:同时显示DEBUG信息。
3:同时显示注入的PAYLOAD。
4:同时显示HTTP请求。
5:同时显示HTTP响应头。
6:同时显示HTTP响应页面。
sqlmap的选项-v用来设置冗余级别。如果不进行设置,则默认为1。(v是英文单词verbose(冗长的)的首字母。)

五、指定目标

sqlmap支持多种指定方式:指定单个目标、批量指定目标和基于日志文件指定

5.1 单个目标

sqlmap提供了一个选项-u,用来指定目标的URL地址(记忆:u是URL的首字母)

5.2 多个目标

sqlmap提供了选项-m,可以用来扫描多个目标。需要将目标地址保存在文件中,每一行为一个URL地址。

5.3 使用HTTP请求文件

使用bp抓包后,保存请求文件到文档中,使用-r选项即可,如果目标为HTTPS,还需要使用--force-ssl选项,该选项强制使用SSL/HTTPS

5.4 检测到注入漏洞时报警

选项--alert,用于在检测到新的注入漏洞时执行特定的命令,以加强提示功能。

--alert ‘提示内容’--下图中提示信息写的是‘faxianloudong’

5.5 谷歌搜索语法

可使用的布尔操作符包括AND(+)、NOT(-)和OR(|)

(1)inurl:字符 搜索包含特定字符的URL

(2)intext:字符 搜索网页正文内容中包含指定字符的网页

(3)site:域名 限制只搜索某个域名的页面。例如,site:baidu.com

(4)filetype:扩展名 对目标按照文件类型进行过滤,例如:filetype:txt

(5)intitle:字符 基于网页标题过滤结果

选项-g,用来从谷歌搜索引擎中获取URL地址,默认获取前100个结果并进行SQL注入:

sqlmap -g inurl:login.php?id=

5.6 爬取网站

选项--crawl,用来指定爬取深度,记忆:crawl,中文意思是爬行

????????输出信息中提示是否检测站点的sitemap.xml文件。sitemap.xml文件保存了网站中的网址以及每个网址的其他元数据。大部分网站都有该文件,但也有一些网站没有。这里输入y,检测sitemap.xml文件,

这是是设置线程数。

文章来源:https://blog.csdn.net/fanmeng2008/article/details/135697680
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。