首页 > 编程语言 >java代码审计-某酒店管理系统

java代码审计-某酒店管理系统

时间:2024-05-07 13:45:03浏览次数:18  
标签:审计 文件 java 管理系统 代码 漏洞 上传

java代码审计-某酒店后台管理系统

目录

1、简介

文章只作研究学习,请勿非法渗透测试;

该系统是使用SpringMVC+Mysql搭建开发的一套中小型企业酒店后台管理系统;

这里只对源代码进行审计,第三方依赖中还有很多值得分析的点(如有错误请及时指正);

2、文件上传漏洞

代码如下:

  • 利用UUID作为文件随机文件名
  • 获取上传文件的ContentType
  • 将Content-type:image/png 中的png作为文件后缀,且充分信任
  • 输出文件名到客户端(浏览器)

存在的问题:

获取Content-type后并没有做校验,且UUID已知,导致任意文件上传

burp这里获取不到文件名,但是因有为图片显示功能,可以直接看到资源路径:

冰蝎连接成功。

3、CSRF漏洞

系统设置-->修改密码

无Token校验,不限制refer,无原密码校验,存在CSRF漏洞

4、存储型XSS

房间列表->详细信息中,会输出房间号、价格、类型、房间描述等;并且参数值可控;

从输入到输出无任何过滤;

查看源代码:

尝试在价格中插入js代码:

报错,数据库中对长度进行了限制,

那尝试修改房间描述,textarea域长度应该足够了;

标签:审计,文件,java,管理系统,代码,漏洞,上传
From: https://www.cnblogs.com/K1na-blog/p/18176144

相关文章

  • JavaScript 流程控制语句详解:if语句、switch语句、while循环、for循环等
    JavaScript,作为一种广泛使用的编程语言,它的流程控制语句是构建逻辑和实现功能的基础。流程控制语句包括条件语句、循环语句和转向语句,它们是编程中不可或缺的部分。接下来,我们将一一解析这些语句,带你走进JavaScript的世界。一、什么是流程控制语句流程控制语句是用来控制程序中......
  • Jmeter调用java代码
    加密:MD5、Base64、SHA、RSA、签名混合加密:jmeter的md5加密函数:BeanShell调用java代码: 调用jar包:1)在测试计划中引入jar包2)调用代码 ......
  • java连接redis,兼容主从切换
    使用redis的主从集群兼容情况:当redis的主从,通过网络问题或者机器异常问题发生了主从切换,程序能自动识别到主从变更,进而连master进行写操作做到无感知在使用Java连接到Redis主从集群时,确保应用程序能够在发生主从切换时自动感知并更新连接至新的主节点是非常重要的。这通常涉及......
  • Java发送HTTP GET/POST请求
    一、Java11HttpClient在Java11的java.net.http.*包中,有一个HttpClient类可以完成HTTP请求。Java11HttpClientExample.javapackagecom.lyl.http;importjava.net.URI;importjava.net.URLEncoder;importjava.net.http.HttpClient;importjava.net.http.HttpRequest;im......
  • 记一次java进程频繁挂掉问题排查修复
    前言最近业务部门有个java服务进程会突然无缘无故的挂掉,然后这个服务会产生一堆类似hs_err_pid19287.log这样的日志。业务部门负责人就把hs_err_pidxxx的日志发给我,让我帮忙看下问题。本文就来回顾一下,我是如何帮业务部门进行问题排查排查历程首先hs_err_pidxxx的日志有提示如......
  • 5.6为一个activity编写一个滚动界面的.java文件
    packagecom.example.yibaifen;importstaticandroidx.core.content.ContentProviderCompat.requireContext;importandroidx.annotation.NonNull;importandroidx.appcompat.app.AppCompatActivity;importandroidx.recyclerview.widget.DividerItemDecoration;importandro......
  • 排查Java反射调用的InvocationTargetExcetion问题
    在Java中通过反射调用方法时,常见的一个异常是:java.lang.reflect.InvocationTargetException,将异常信息打印到日志文件中时通常会有如下一句信息:java.lang.reflect.InvocationTargetException:null,由于在异常信息中存在"null",一开始就会非常敏感,会误以为是空指针异常。其实不然,从......
  • 什么是Java内存模型(JMM)?
    什么是Java内存模型(JMM)?一、JMM的相关概念Java内存模型简称JMM(JavaMemoryModel),是Java虚拟机所定义的一种抽象规范,用来屏蔽不同硬件和操作系统的内存访问差异,让java程序在各种平台下都能达到一致的内存访问效果。这里要注意两点:1)JMM是一个抽象的概念,并不是物理上的内存划分。2)J......
  • 如何使用 JavaScript 获取当前页面帧率 FPS
    可以通过计算每秒 window.requestAnimationFrame 的调用频率来做为FPS值。它接收一个回调函数,该回调函数会在浏览器下一次重绘之前执行。所以只要我们循环调用并记录单位时间内的调用次数就能计算当前页面的帧率了。效果展示在线预览-使用JavaScript获取当前页面帧率FP......
  • Java中执行Shell命令
    Java中执行Shell命令Java执行Shell命令返回127引言在Java开发中,我们经常需要调用系统的Shell命令来完成一些特定的任务。然而,有时候执行Shell命令可能会返回一个特定的错误码,比如127。本文将介绍什么是Shell命令返回码,以及当Java执行Shell命令返回127时可能的原因和解决办法。......