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

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

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

相关文章

如何利用tf.keras 实现深度学习?

tf.keras是TensorFlow 2.0的高阶API接口,为TensorFlow的代码提供了新的风格和设计模式,大大提升了TF代码的简洁性和复用性,官方也推荐使用tf.keras来进行模型设计和开发。 常用模块 tf.keras中常用模块如下表所示: 常用方法 深度…

安全学习DAY10_HTTP数据包

HTTP数据包 文章目录 HTTP数据包小节导图Request请求数据包结构Request请求方法(方式)请求头(Header)Response响应数据包结构Response响应数据包状态码状态码作用:部分状态码详解判断网站文件是否存在的状态码&#xf…

配置代理——解决跨域问题(详解)

之前写项目的时候总会遇到配置代理的问题,可是配置了之后有时有用,有时就没有用,自己之前学的也是懵懵懂懂,于是专门花了一个小时去了解了如何配置代理跨域,然后在此记录一下,方便自己以后查阅。 一、 常用…

RBF神经网络原理和matlab实现

1.案例背景 1.1 RBF神经网络概述 径向基函数(Radical Basis Function,RBF)是多维空间插值的传统技术,由Powell于1985年提出。1988年, Broomhead和 Lowe根据生物神经元具有局部响应这一特点,将 RBF引入神经网络设计中,产生了RBF神经网络。1989 年,Jackson论证了…

应用层协议——https

文章目录 1. HTTPS 是什么2. 什么是"加密"3. 常见的加密方式4. 数据摘要 && 数字签名5. HTTPS 的工作过程探究5.1 方案1 - 只使用对称加密5.2 方案2 - 只使用非对称加密5.3 方案3 - 双方都使用非对称加密5.4 方案4 - 非对称加密 对称加密5.5 中间人攻击5.6 …

【深度学习】InST,Inversion-Based Style Transfer with Diffusion Models,论文

代码:https://github.com/zyxElsa/InST 论文:https://arxiv.org/abs/2211.13203 文章目录 AbstractIntroductionRelated WorkImage style transferText-to-image synthesisInversion of diffusion models MethodOverview ExperimentsComparison with Sty…

C++ 多进程学习总结

C多进程 进程间通信 消息队列 消息队列:提供一个种进程间发送/接收数据块(常为结构体数据)的方法。 函数接口 ftok():获取消息队列键值msgget():创建和访问消息队列msgsnd():向消息队列发送数据msgrcv…

VSCode配置之C++ SQLite3极简配置方案

背景 最近在学习《深入应用C11: 代码优化与工程级应用》,其中第13章说到SQLite库,查询网上诸多教程,发现比较容易出现bug且配置较为麻烦,故记录此次简化版方案,以供参考。 软件环境 SQLite 3.42.0 版本(仅…

Python 进阶(五):os 模块

❤️ 博客主页:水滴技术 🌸 订阅专栏:Python 入门核心技术 🚀 支持水滴:点赞👍 收藏⭐ 留言💬 文章目录 1. 文件和目录的基本操作1.1 获取当前工作目录1.2 更改当前工作目录1.3 获取目录下所有…

ffmpeg批量分割视频解决视频前几秒黑屏的问题解决

echo 请输入视频地址: set /p fp echo 请输入开始时间: set /p st echo 请输入结束时间: set /p et echo 请输入分片时间: set /p sgt echo 注意:循环范围参数要空格。 for /l %%i in (%st%, %sgt%, %et%) do call :aa…

redis启动失败,oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

在redis文件夹下,启动redis正常。 但是加入到system后启动redis失败。 一直处于starting状态。 对比正常redis服务的配置之后,把redis.conf里的守护进程关掉就可以了(但是没用system管理之前,直接./redis.server启动是可以的&…

35.图片幻灯片

图片幻灯片 html部分 <div class"carousel"><div class"image-container"><img src"./static/20180529205331_yhGyf.jpeg" alt"" srcset""><img src"./static/20190214214253_hsjqw.webp"…

Java 模块化Modularity- 了解与测试

1. java9后JDK后目录的变化 不见了jre,新增了jmods目录。 1&#xff09;为什么不见了jre&#xff1f; 新版JDK提供了 jlink工具&#xff0c;使用它构建一个包含jre镜像的应用程序。 就是可以打包一个引用程序内部已经包含完整或部分jre&#xff0c;可以直接运行。 2&#xf…

MP的开发流程

MP的开发流程 1、添加依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.ap…

【李宏毅 DLHLP 深度学习人类语言处理 HW1】

李宏毅 DLHLP 深度学习人类语言处理 HW1 相关资料HW1更多尝试1, 加深encoder:4层LSTM2, 加深encoder(4层LSTM)和加深decoder(2层LSTM)3, cnn代替vgg4, 再次加深decoder(4层LSTM) 语音小白在网上没有找到这门课的作业分享&#xff0c;那就记录一下自己的作业吧。 相关资料 课程…

基于SpringBoot+Vue的学习平台设计与实现(源码+LW+部署文档等)

博主介绍&#xff1a; 大家好&#xff0c;我是一名在Java圈混迹十余年的程序员&#xff0c;精通Java编程语言&#xff0c;同时也熟练掌握微信小程序、Python和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

tinkerCAD案例:23.Tinkercad 中的自定义字体

tinkerCAD案例&#xff1a;23.Tinkercad 中的自定义字体 原文 Tinkercad Projects Tinkercad has a fun shape in the Shape Generators section that allows you to upload your own font in SVG format and use it in your designs. I’ve used it for a variety of desi…

Blazor前后端框架Known-V1.2.8

V1.2.8 Known是基于C#和Blazor开发的前后端分离快速开发框架&#xff0c;开箱即用&#xff0c;跨平台&#xff0c;一处代码&#xff0c;多处运行。 Gitee&#xff1a; https://gitee.com/known/KnownGithub&#xff1a;https://github.com/known/Known 概述 基于C#和Blazor…

Linked List

文章目录 链表定义专业术语代码链表分类常见算法链表创建和常用算法 链表总结 链表 补充知识 typedef 给类型换名字&#xff0c;比如 typedef struct Student {int sid;char name[100];char sex; }ST;//ST就代表了struct Student //即这上方一大坨都可以用ST表示 //原先结构体…

Springer独立出版 | 2023年触觉与虚拟现实国际会议(ICHVR 2023)

会议简介 Brief Introduction 2023年触觉与虚拟现实国际会议(ICHVR 2023) 会议时间&#xff1a;2023年12月15日-17日 召开地点&#xff1a;中国北海 大会官网&#xff1a;www.ichvr.org 2023年触觉与虚拟现实国际会议(ICHVR 2023)由东南大学、上海交通大学联合主办&#xff1b;…