web漏洞-java安全(41)

这个重点是讲关于java的代码审计,看这些漏洞是怎么在java代码里面产生的。
#Javaweb 代码分析-目录遍历安全问题
这个漏洞原因前面文章有,这次我们看看这个漏洞如何在代码中产生的,打开靶场
解题思路就是通过文件上传,上传文件把它应该正常上传的路径进行修改,更改他的上传路径。
查看页面源码
我们正常上传一个文件,看一下他的储存路径
就是箭头指向的对方。
这关的过关思路就是把这个文件上传到其他目录下面去。
而我们发现fullname是test,上传后文件的命中也叫test,我们改一下fullname为xiaodi,上传文件的名字也变成小迪了。
这时候我们试着把名字改成../xy,../是意思就是上一级,那我们这样子上传,会不会上传到他的上一级目录下面../
上传一下
成功了,成功过关。
这个有什么意义,我们还没有讲过目录权限解析这个东西,如果对方设置了目录解析权限,这个目录下面的文件的监听,比如一个图片的储存目录,他就可以设置不给予脚本执行权限,如果能操作储存到目录,就可以上传到别的目录,因为别的目录就可能没有设置权限。
我们看一下这关代码是怎么回事
我们看代码重点要看,模块引用(框架,自带的等等),路由地址,静态文件(html,js等等)简易代码理解。

这个就是java一个比较知名的框架,

这个就类似php里面的get什么的,就是接收数据,后门是变量值,
在这个数据包里面就有代码中的变量。

接受fullname值给value,在数据包里面也有显示,还有fullname的值

这个mltioatfile和上面引用的名字一样,就是引用的上面的功能。
这就是mltioatfile声明的情况

这个代码的大概含义就是,把输入的文件赋值到输出的地方来。
#打开第三关

还是同样的绕过,不过../被修复了,
先上传一个文件看看保存路径,代码,差不多,多了一个过滤
这个因为他只过滤一次,所以就可以直接用循环绕过,写为....//,这样子绕过
就成功了。
#Javaweb 代码分析-前端验证安全问题
因为他的验证产生在前端,不在后端验证,
打开靶场
就是尝试登陆, 随便输入个账户密码抓一下数据包

查看一下源码


tosring改编为字符串格式,equals对比括号内的内容是否相同,
我们该如何在黑盒情况下,获取到账户密密码,在java里面组成目录结构的相关问题,我们直接在html网站的源码页面就可以查看
因为是前端验证,去看那个加载代码
我们解码的时候要把/x去掉,才能解码出来
这个就是账号和密码。
我们还可以不写账号密码,直接点击登录吗,就触发前端的jscript代码,抓住数据包就可以看到账户密码
这一关是告诉我们看代码,要去看那些代码,
Javaweb 代码分析-逻辑越权安全问题

先登录进去,
就会显示一些信息

查看一下这一关的过关要求

这个靶场登录之后,会展示一些用户的信息,比如账户,而这些是由网站决定的展示什么,比如密码就不会展示。
你有很多信息,但是网站会选择部分显示。而这一关是教我们可以通过数据包的发送,把本来不显示的信息,显示出来。
这一关就是让你获取不显示出来的的两个信息,该怎么操作。我举个栗子,假如他有sql语句去数据库查询,如果我在数据包里面让他去显示密码这种信息,相当于他传递过去回去查询,会查出来,就会显示出来,这个要看对方代码1会不会显示查询的其他信息,
这里传过去两个参数,而这一关就会显示这两个参数的信息,就过关了,这一关的目的就是让我们知道可以通过数据包之类的查看到不显示的信息出来,
代码审计

![]()
提交poost数据就请求括号里面的内容来。
![]()
接受attributes的数据
而我们输入好参数点的那个按钮接受attribues,代码里面接受他的变量值。

逗号分割,如何判断是否小于2,小于2就判断失败。
![]()
这个就是去判断他的第一个数组,是否等于不显示的参数值,等于就过关了。
下一关
代码审计

![]()
接受变量url。

以斜杠分隔开,然后比对值,所有值都相等的就过关了,前三个值都有显示,但是第四个值就没有固定值,
![]()
第四个值从括号里面的id获取来的

第四个、
![]()
userfile是我们常说的对象,但是在这个页面的代码里没有就在上面的引用文件里面,

就找到了,之后再把之前的值拼接到一起
这个值就是答案。
这一关的想要告诉我们,就是类似于接口问题。找一个网站看一下
每一个用户都有自己对应的编号,而我们换一下上面的编号就会换一个用户,就可以获取更多信息,知道用户访问地址,就可以不断更改对应值,用户的变更。
#Javaweb 代码分析-XSS 跨站安全问题

直接看代码

![]()
接受answerxss1的值,

数据包里面也有这个
![]()
这个就对比是不是yes,直接在框框里面输入yes点击按钮就过关了。
打开第七关

抓一下数据包找一下对应源代码在哪个文件里面

我们再看一下靶场显示哪些数据出来
显示箭头指的值。

代码是有先后执行顺序的, 而根据代码来看,只要进入else里面,触发else的代码,就可以了,就不会在有field1的过滤了,所以fielad2里面不存在那些过滤的东西,把跨站语句写在field1里面,在数据包修改
而我们还可以不用他过滤里面的那些关键字来实现绕过,之前xss绕过文章里面有。
而将这些就是有一些漏洞java和php是一样的,没有啥变化;
#拓展-安卓 APP 反编译 JAVA 代码(审计不香吗?)
网上随便下一个apk文件,如何拿去反编译为jar文件,就是它的代码
添加到ic里面查看源代码,就可以进行源码分析了,如果apk里面涉及到web网站,协议就可以找关于web的漏洞,
s
相关文章:
web漏洞-java安全(41)
这个重点是讲关于java的代码审计,看这些漏洞是怎么在java代码里面产生的。 #Javaweb 代码分析-目录遍历安全问题 这个漏洞原因前面文章有,这次我们看看这个漏洞如何在代码中产生的,打开靶场 解题思路就是通过文件上传,上传文件…...
用CSS和HTML写一个水果库存静态页面
HTML代码: <!DOCTYPE html> <html> <head><link rel"stylesheet" type"text/css" href"styles.css"> </head> <body><header><h1>水果库存</h1></header><table>…...
【回眸】备考PMP考点汇总 三(距离考试还有20天)
目录 前言 【回眸】备考PMP考点汇总 三(距离考试还有20天) 29、管理质量 30、获取资源 31、建设团队 32、管理团队 33、管理沟通 34、实施风险应对 35、实施采购 36、管理相关方参与 37、监控项目工作(10%) 38、实施整…...
新房的收房验房注意事项
文章目录 流程注意事项准备检查材料手续整体结构验收水电检测门窗结构地面工程墙面工程顶面工程阳台厨房卫生间户外设施 流程注意事项 只要发现问题,不管大小,都要在相关文件或表格中记录下来,而不管开发商以及陪同的收房人员如何花言巧语。…...
ARM裸机-5
1、可编程器件的编程原理 1.1、电子器件的发展方向 模拟器件-->数字器件 ASIC-->可编程器件 1.2、可编程器件的特点 CPU在固定频率的时钟控制下节奏运行。 CPU可以通过总线读取外部存储设备中的二进制指令集,然后解码执行。 这些可以被CPU解码执行的二进制指…...
SpringCloud学习路线(11)——分布式搜索ElasticSeach场景使用
一、DSL查询文档 (一)DSL查询分类 ES提供了基于JSON的DSL来定义查询。 1、常见查询类型: 查询所有: 查询出所有的数据,例如,match_all全文检索(full text)查询: 利用…...
负数补码表示
负数补码作用 在计算机中加法和减法采用同一电路,即用加法表示减法,如7 - 2 5变成7 ( -2) 5,这样减法的电路不用另行设计,但计算机中数据以二进制存储,没有负号,因此设计负数补码代…...
ChatGPT结合知识图谱构建医疗问答应用 (一) - 构建知识图谱
一、ChatGPT结合知识图谱 在本专栏的前面文章中构建 ChatGPT 本地知识库问答应用,都是基于词向量检索 Embedding 嵌入的方式实现的,在传统的问答领域中,一般知识源采用知识图谱来进行构建,但基于知识图谱的问答对于自然语言的处理…...
C++ 类和对象
面向过程/面向对象 C语言是面向过程,关注过程,分析出求解问题的步骤,通过函数调用逐步解决问题 C是基于面对对象的,关注的是对象——将一件事拆分成不同的对象,依靠对象之间的交互完成 引入 C语言中结构体只能定义…...
c# 此程序集中已使用了资源标识符
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 CS1508 此程序集中已使用了资源标识符“BMap.NET.WindowsForm.BMapControl.resources” BMap.NET.WindowsForm D:\MySource\Decompile\BMap.NET.WindowsForm\CSC 1 活动 运行程序时&a…...
WPF实战学习笔记30-登录、注册服务添加
登录、注册服务添加 添加注册数据类型添加注册UI修改bug UserDto的UserName更改为可null类型Resgiter 添加加密方法修改控制器 添加注册数据类型 添加文件MyToDo.Share.Models.ResgiterUserDto.cs using System; using System.Collections.Generic; using System.Linq; us…...
GDAL C++ API 学习之路 OGRGeometry 圆弧类 OGRCircularString
OGRCircularString Class <ogrsf_frmts.h> OGRCircularString 类是 OGR 几何库中的一个类,用于表示圆弧字符串(circular string)类型的几何图形。圆弧字符串是由一系列圆弧段组成的几何图形,每个圆弧段由三个点定义…...
机器学习:异常检测
问题定义 anomaly,outlier, novelty, exceptions 不同的方法使用不同的名词定义这类问题。 应用 二分类 假如只有正常的数据,而异常的数据的范围非常广的话(无法穷举),二分类这些不好做。另外就…...
flask中的蓝图
flask中的蓝图 在 Flask 中,蓝图(Blueprint)是一种组织路由和服务的方法,它允许你在应用中更灵活地组织代码。蓝图可以大致理解为应用或者应用中的一部分,可以在蓝图中定义路由、错误处理程序以及静态文件等。然后可以…...
Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台免费搭建
Java版知识付费-轻松拥有知识付费平台 多种直播形式,全面满足直播场景需求 公开课、小班课、独立直播间等类型,满足讲师个性化直播场景需求;低延迟、双向视频,亲密互动,无论是互动、答疑,还是打赏、带货、…...
uniapp 瀑布流 (APP+H5+微信小程序)
WaterfallsFlow.vue <template><view class"wf-page" :class"props?.paddingC ? paddingC : "><!-- left --><view><view id"left" ref"left" v-if"leftList.length"><viewv-for…...
医疗小程序:提升服务质量与效率的智能平台
在医疗行业,公司小程序成为提高服务质量、优化管理流程的重要工具。通过医疗小程序,可以方便医疗机构进行信息传播、企业展示等作用,医疗机构也可以医疗小程序提供更便捷的预约服务,优化患者体验。 医疗小程序的好处 提升服务质量…...
ComPDFKit 转档SDK OCR表格识别功能
我们非常高兴地宣布,适用于 Windows、iOS、Android 和服务器的 ComPDFKit 转档SDK 1.8.0 现已发布!在该版本中,OCR 功能支持了表格识别,优化了OCR文字识别率。PDF to HTML 优化了html 文件结构,使转换后的 HTML 文件容…...
华为OD机考--阿里巴巴黄金箱
题目内容 贫如洗的樵夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,藏宝地有编号从0~N的箱子每个箱子上面贴有一个数字箱子中可能有一个黄金宝箱。 黄金宝箱满足排在它之前的所有箱子数字和等于排在它之后的所有箱子数字之和; 一个箱子左边部分…...
mybatis-config.xml-配置文件详解
文章目录 mybatis-config.xml-配置文件详解说明文档地址:配置文件属性解析properties 属性应用实例 settings 全局参数定义应用实例 typeAliases 别名处理器举例说明 typeHandlers 类型处理器environments 环境environment 属性应用实例 mappers配置 mybatis-config.xml-配置文…...
告别重复劳动:用快马AI智能生成OpenCode风格的高效工具函数
最近在开发一个需要大量表单验证的项目时,我发现每次都要重复写类似的验证逻辑,既浪费时间又容易出错。于是我开始寻找更高效的解决方案,最终在InsCode(快马)平台上找到了理想的工具。 需求分析 表单验证是每个Web项目都绕不开的基础功能。常…...
从理论到实践:基于EKF与1RC模型的锂离子电池SOC在线估计与Simulink仿真
1. 锂离子电池SOC估计为什么这么重要? 如果你用过电动车或者手机,肯定遇到过电量显示不准的情况。明明显示还有30%电量,结果突然关机;或者充到80%就再也充不进去了。这些问题的核心,都跟电池的荷电状态(SO…...
二极管单向导电性的秘密:为什么你的电路不工作?可能是二极管接反了!
二极管单向导电性的秘密:为什么你的电路不工作?可能是二极管接反了! 刚接触电子电路的朋友们,一定遇到过这样的困惑:明明按照电路图连接了所有元件,电源也接通了,可电路就是不工作。这时候&…...
Qt6.10.1 + QCustomPlot 2.1.1 串口绘图实战:从Qt5老项目迁移到新版本的完整踩坑记录
Qt6.10.1与QCustomPlot 2.1.1串口绘图项目迁移实战指南 当Qt5项目需要升级到Qt6时,许多开发者都会面临兼容性挑战。特别是那些涉及串口通信和数据可视化的项目,往往隐藏着不少"坑"。本文将带你完整走一遍从Qt5老项目迁移到Qt6.10.1的全过程&am…...
告别Bad Username or Password:手把手教你用MQTTX正确连接OneNET物联网开发平台(附Token生成避坑点)
物联网开发实战:OneNET平台MQTT连接全流程解析与避坑指南 在物联网项目开发中,MQTT协议因其轻量级和高效性成为设备连接的首选方案。而OneNET作为国内主流的物联网平台,为开发者提供了完整的MQTT接入能力。但在实际对接过程中,&q…...
Pixel Language Portal 快速上手PyCharm:远程开发与模型调试配置详解
Pixel Language Portal 快速上手PyCharm:远程开发与模型调试配置详解 1. 为什么需要PyCharm远程开发 作为一名AI开发者,你可能经常遇到这样的困扰:本地电脑性能有限,跑不动大模型;服务器上开发又不够直观方便。PyCha…...
Python自动化脚本:从零构建《三国杀》钓鱼辅助
1. 环境准备:搭建自动化钓鱼的基石 想要实现《三国杀》钓鱼自动化,首先需要搭建一个稳定的开发环境。我推荐使用雷电模拟器9作为游戏运行平台,它不仅对Android游戏兼容性好,而且提供了丰富的调试功能。记得在安装时选择非vivo手机…...
HDSceneColor节点]原理解析与实际应用
渲染管线兼容性详解HD Scene Color节点的可用性完全取决于所使用的渲染管线,这是开发者在选择和使用该节点时必须首先考虑的因素。高清渲染管线(HDRP)支持HDRP是Unity针对高端平台和高端硬件设计的高保真渲染解决方案HD Scene Color节点专为H…...
Amlogic S9XXX Armbian刷机完全指南:从入门到进阶的5个关键问题
Amlogic S9XXX Armbian刷机完全指南:从入门到进阶的5个关键问题 【免费下载链接】amlogic-s9xxx-armbian Supports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l,…...
灵毓秀-牧神-造相Z-Turbo进阶玩法:结合提示词生成不同风格的灵毓秀
灵毓秀-牧神-造相Z-Turbo进阶玩法:结合提示词生成不同风格的灵毓秀 1. 认识灵毓秀-牧神-造相Z-Turbo 1.1 模型特点概述 灵毓秀-牧神-造相Z-Turbo是一款基于Xinference部署的专用文生图模型,专注于生成《牧神记》中灵毓秀这一角色的高质量图像。相比通…...
