赞
踩
该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞。
攻击机:kali(java环境)
靶机:ubantu–docker
首先当然是去官网下载好基于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
一、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目录下面。
----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页面中:
https://github.com/joaomatosf/JavaDeserH2HC ,首先下载好poc。
原理是一样的,这里在bash反弹的时候需要base64编码即可;
除了这些网上也有一些基于图形化界面的工具也方便的很。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。