记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

JAVA反序列化漏洞之环境搭建调试篇

2021-01-31 23:06

00


前言


   JAVA反序列化漏洞,是近几年来红队的“宠儿”,比如说shiro反序列化、jboss反序列化、weblogic反序列化等等。这类漏洞有些利用条件并不苛刻,但是造成的危害极大。本系列将带领大家从0开始学习JAVA反序列化漏洞,从漏洞环境的搭建,到漏洞代码的调试分析,到漏洞的攻击利用和修复方法。拒绝当脚本小子从我做起。本章以搭建

Apereo Cas 4.X 的反序列化环境为例,学习环境搭建和调试技术。


01


环境准备


编译器:IntelliJ IDEA 2020.1

下载安装教程:

https://www.cnblogs.com/xfyuao/p/12750409.html


WEB服务器:apache-tomcat-9.0.41

下载安装教程:https://www.cnblogs.com/limn/p/9358657.html


JDK环境:jdk1.8.0_141

下载安装教程:https://www.cnblogs.com/harmful-chan/p/12193579.html


Maven:Maven 3.6.3

下载安装教程:https://www.cnblogs.com/zhangzhixing/p/12953187.html


注意:Maven中的bin/settings.xml文件的仓库的地址要配好,如果没有repo文件夹,可以创建一个。避免设在Maven根路径,文件可后续用作联网加载的项目依赖项存储位置。

项目源码下载:https://github.com/apereo/cas-overlay-template/tree/4.1


02


环境搭建


打开idea导入项目,并将pom.xml中的版本号进行修改。

File->setting->Build,Excution,Deployment->BuildTools->Maven,设置Maven安装路径、用户配置文件及仓库路径,最后apply->ok。


按照提示配置jdk1.8运行环境。

在项目列表中,右键“main”->New->Directory 创建一个java文件夹。

点击右侧栏目“Maven”->刷新,将会为我们下载好4.15版本的war包并解压好。这个过程有点慢,推荐直接到官网下载:https://repo1.maven.org/maven2/org/jasig/cas/cas-server-webapp/4.1.5/cas-server-webapp-4.1.5.war。

下完后解压war到项目文件下可以看到如下内容。

对于javaweb开发都会在servlet层存在doget或dopost方法接收和响应前端的请求;所以要找到dopost方法所在的java文件并放置到新建的“java”包下。项目基于springmvc开发,所以lib下的“spring-webmvc-4.1.8.RELEASE.jar“包拷贝到新建的java目录中。


用jadx对文件进行反编译,找到dpost所在的FrameworkServlet.class。

回到刚刚新建的java文件夹下,新建一个包命名为“org.springframework.web.servlet“,在包下再新建一个java文件,命名为FrameworkServlet。把在jadx中FrameworkServlet.class文件的内容复制到idea的FrameworkServlet..java文件下。

接着导一下依赖包File->Project Structrue->Libraries->”+”->java->项目。

“cas-overlay-template-4.1“->overlays-> org.jasig.cas.cas-server-webapp-4.1.5->WEB-INF->选择lib,点击确定。

然后到项目配置中,加载lib。

如果还有爆红,找到小灯泡的位置跟着提示进行安装。

下载完成后不爆红,就说明安装好所需依赖了。

Idea关联Tomcat服务器,点击右上方的Add Configuration->“+” 在弹出的列表选择”Tomcat Server”->local配置本地安装好的tomcat路径,端口修改成8888或其他没被占用的端口。

点击Deployment->”+”->第一项“Artifact..”->第一项”cas-overlay:war”,ok,点击apply。

修改propertyFileConfigurer.xml文件中util标签中location的值为cas.properties文件的真实物理路径,自此调试环境已搭建完成。

启动一下环境。

启动完成后浏览器会自动打开页面。


03

环境调试


来到FrameworkServlet.java,ctrl+f查找dopost方法,下行断点。

没接触过的,不会下断点的,看下图,行头空白地方左键单击一下就行,选择java line breakpoint。

开始debug模式。

浏览器打开登陆页面,随便填点东西,点击登录。

点击登陆后,就会跳到我们下断点的地方,说明调试环境没问题了,接下来就可以开始我们的娱乐环节了。

上图箭头所指的几个调试功能是常用的,后面调试会用到,提前了解一下。


04


后记


   这是学渣成长之路的第 15 文章,以上用到的环境及工具均已打包。需要的小伙伴到后台获取链接即可。环境搭建、代码调试都是我们学习安全漏洞过程中,必不可少的环节。要学习的知识点越多,就越浮躁不得。不忘初心,脚踏实地。


需要靶机的小伙伴公众号回复“00005”



知识来源: https://mp.weixin.qq.com/s?__biz=Mzg3NzU0NjU5OQ==&mid=2247484219&idx=1&sn=a6f0233e4c7f2f4c321def7909dff954&chksm=cf201e33f8579725620611c4bc31663085d02968b7906c6a2905b77badbcdc01611f49a7d3be&scene=27&k

阅读:221729 | 评论:0 | 标签:漏洞 java 序列化

想收藏或者和大家分享这篇好文章→复制链接地址

“JAVA反序列化漏洞之环境搭建调试篇”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

黑帝公告 📢

永久免费持续更新精选优质黑客技术文章Hackdig,帮你成为掌握黑客技术的英雄

广而告之 💖

标签云 ☁