0


【SQLMap工具】SQLMap基础及简单使用方法

SQLMap介绍

SQLMap是一个自动化的SQL注入工具,主要功能是扫描、发现,并利用给定url(域名)的SQL注入漏洞。SQLMap支持的数据库有MySQL 、Oracle 、PostgreSQL 、Microsoft SQL Server、Microsoft Access 、IBM DB2, SQ Lite 、Firebird 、Sybase和SAPMaxDB 。

相对于手工注入,sqlmap的高效注入大大提高了我们渗透效率。Sqlmap采用了以下5种独特的SQL注入技术:

  • 联合查询,在可以使用Union的情况下注入(注入效率最高,成本最低)

  • 报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回到页面中

  • 布尔盲注,即可以根据返回页面判断条件真假的注入

  • 延时注入,即不能根据页面返回的内容判断任何信息,要用条件语句查看时间延迟语句是否已经执行(即页面返回时间是否增加)来判断

  • 堆叠查询,可以同时执行多条语句时的注入

SQLMap 的强大的功能包括数据库指纹识别、数据库枚举、数据提取、访问目标文件系统,并在获取完全的操作权限时实行任意命令;当常规的注入工具不能利用SQL注入漏洞进行注入时,使用SQLMap会起到很不错的效果

SQLMap的简单使用方法

常用命令及参数

当发现sql注入的时候,根据我们注入的不同,对SQLMap使用的参数也不同

sqlmap -u 'URL'                          检测注入点
sqlmap -u 'URL' --dbs                    列出所有数据库的名字
sqlmap -u  URL --is-dba                  当前用户是否是数据库管理员
sqlmap -u  URL --current-db              列出当前数据库的名字

-D                                       指定一个数据库
--tables                                 列出所有表名
sqlmap -u URL -D "xx" --tables          列出xx数据库中的所有表

-T                                       指定一个表
--columns                                列出所有的字段名
sqlmap -u URL -D "xx" -T "cc" --columns 列出表中所有的字段名

-C                                        指定一个字段名
--dump                                    列出字段内容
sqlmap -u URL -D "xx" -T "cc" -C "x,x,.." --dump  列出字段内容(-T ,-C之类的要用大写不然有时候会读不出来)。未指定字段-dump则全部列出

-v3

如果你想观察sqlmap对一个点是进行了怎样的尝试判断以及读取数据的,可以使用-v参数。

共有七个等级,默认为1:

  • 0 只显示python错误以及严重的信息。

  • 1 同时显示基本信息和警告信息(默认)

  • 2 同时显示debug信息

  • 3 同时显示注入的payload

  • 4 同时显示HTTP请求

  • 5 同时显示HTTP响应头

  • 6 同时显示HTTP响应页面

如果你想看到sqlmap发送的测试payload最好的等级就是-v 3。

SQLMap详细使用方法

查看帮助手册

sqlmap.py -h

可以看到SQLMap中显示的一些参数

检测注入点及注入类型

sqlmap.py -u 'url'

列出所有数据库的名字

sqlmap.py -u 'URL' --dbs

列出当前数据库的名字

sqlmap.py -u URL --current-db

列出指定数据库的所有表

sqlmap.py -u 'url' -D "security" --tables

列出指定表的所有字段

sqlmap.py -u 'url' -D "security" -T "users" --columns

列出某字段中的所有字段内容

sqlmap.py -u 'url' -D "security" -T "users" -C "name,password" --dump


总结:

  1. sqlmap只是用来检测和利用sql注入点,并不能扫描出网站有哪些漏洞,使用前请先使用扫描工具扫出sql注入点。

  2. 注入小技巧:

有回显可以用联合查询,有报错可以用报错注入;

都没有再看有没有布尔类型的状态(显示或者不显示);

若以上都没有,试试用延时注入;

或者我们直接测试延时注入。

标签: sql 安全

本文转载自: https://blog.csdn.net/2301_76334474/article/details/128961919
版权归原作者 百事都可樂. 所有, 如有侵权,请联系我们删除。

“【SQLMap工具】SQLMap基础及简单使用方法”的评论:

还没有评论