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-配置文…...

国标GB28181设备管理软件EasyGBS远程视频监控方案助力高效安全运营
一、方案背景 在商业快速扩张的背景下,连锁店门店数量激增,分布范围广。但传统人工巡检、电话汇报等管理方式效率低下,存在信息滞后、管理盲区,难以掌握店铺运营情况,影响企业效率与安全。网络远程视频监控系统可有…...
用函数实现模块化程序设计(适合考研、专升本)
函数 定义:本质上是一段可以被连续调用、功能相对独立的程序段 c语言是通过“函数”实现模块化的。根据分类标准不同函数分为以下几类。 用户角度:库函数、自定义函数 函数形式:有参函数、无参函数 作用域:外部函数、内部函数 …...

基于J2EE架构的在线考试系统设计与实现【源码+文档】
目录 摘要: Abstract: 1 引言 2 在线考试系统构架 2.1 在线考试系统一般需求分析 2.2 当前在线考试系统现状分析 2.3 基于J2EE的在线考试系统架构介绍及拥有的优势 2.3.1 结构总体介绍 2.3.2 客户层组件 2.3.2.1 Applets 2.3.2.2 应用程序客户端 2.3.3 …...

C# Wkhtmltopdf HTML转PDF碰到的问题
最近碰到一个Html转PDF的需求,看了一下基本上都是需要依赖Wkhtmltopdf,需要在Windows或者linux安装这个可以后使用。找了一下选择了HtmlToPDFCore,这个库是对Wkhtmltopdf.NetCore简单二次封装,这个库的好处就是通过NuGet安装HtmlT…...
数仓面试提问:在资源(计算、存储、人力)受限的情况下,如何优先处理需求并保证核心交付?
在资源受限的情况下高效处理需求并保证核心交付,是每个团队管理者都会面临的挑战。这种既要“少花钱多办事”又要确保关键任务不延误的压力,面对这种情况,我们需要一套系统化的方法来实现需求评估、优先级排序和有效沟通。以下是经过实践验证的策略和方法: 🛠️ 一、 保证…...
solidity中sar和>>的区别
sar和>>都是右移操作,其区别简而言之前者保留符号位,后者不保留。要解释清楚这个问题,需要从有符号数和无符号数讲起: 有符号数和无符号数 打个比方int8和uint8 uint8(无符号 8 位整数) 取值范围:…...
git提交代码和解决冲突修复bug
提交到分支的步骤如下: 确保你当前在开发分支上,可以使用命令 git branch 来查看当前所在分支,并使用 git checkout 命令切换到开发分支。使用 git add 命令将修改的文件添加到暂存区。使用 git commit 命令提交代码到本地仓库。 解决合并冲…...

西北某省级联通公司:3D动环模块如何实现机房“一屏统管”?
一、运营商机房监控痛点凸显 在通信行业快速发展的当下,西北某省级联通公司肩负着保障区域通信畅通的重任。然而,公司分布广泛的机房面临着诸多监控难题,尤其是偏远机房环境风险无法实时感知这一痛点,严重影响了机房的稳定运行和通…...
大数据学习(131)-Hive数据分析函数总结
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...

K8S认证|CKS题库+答案| 3. 默认网络策略
目录 3. 默认网络策略 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、官网找模板 3)、按照题目要求创建networkpolicy 4)、应用networkpolicy 5)、检查策略 3. 默认网络策略…...