一.  收获

本文技术性不是很强,几乎都是利用工具来完成,但是如果没有灵活地使用工具,也未必能成功,首先是,通过上传发现,上传文件成功却访问不了,初步可以判断我们没有访问权限,此时,要么可以暴力破解web系统账号进行访问,然后再连接***,要么就是找一个权限设置不是很高的目录进行上传,因此就需要对一些常用的web部署框架的网站目录结构有一定的了解。

另外就是有的网站可能有***有一点检测机制,如果上传文件txt文件能访问,脚本文件显示页面不存在,那么可以试试上传一些免杀的***试试。

tip1:快速判断网站是windows系统还是linux系统,通过对各自对大小写字母的敏感性不同进行判断。如:http://www.10086.cn/gz/index_851_851.html   index_851_851.html  改为inDex_851_851.html进行访问,发现更改后不能正常访问,初步就可以判断该系统是linux系统,不排除故意干扰性!

二.  ***路径

2.1  漏洞产生的原因

Apache Struts2的“Dynamic MethodInvocation”机制是默认开启的,仅提醒用户如果可能的情况下关闭此机制,如果未关闭此机制将导致远程代码执行漏洞,远程***者可利用此漏洞在受影响应用上下文中执行任意代码。

Apache Struts2在实现过程中使用了OGNL表达式,并将用户通过URL提交的内容拼接入OGNL表达式中,当debug模式开启时,***者可以通过构造恶意URL来执行任意Java代码,进而可执行任意命令。

Apache Struts 2.3.1.1之前版本中的DebuggingInterceptor组件中存在漏洞。当使用开发模式时,远程***者可利用该漏洞借助未明向量执行任意命令。

Apache Struts2action:redirect:redirectAction:前缀参数在实现其功能的过程中使用了OGNL表达式,并将用户通过URL提交的内容拼接入OGNL表达式中,从而造成***者可以通过构造恶意URL来执行任意Java代码,进而可执行任意命令。redirect:redirectAction:此两项前缀为Struts默认开启功能,目前Struts 2.3.15.1以下版本均存在此漏洞。

2.2  漏洞发现

通过使用struct2漏洞检测工具,发现目标网站存在s2-016s2-019 struct2漏洞,如图:

wKiom1mLuIqBP7f8AAAvSQZzOlI959.png-wh_50

图 2.1  struct2漏洞

2.3  漏洞利用

通过对发现的struct漏洞使用相关利用工具进行利用,一步步开始***该系统!

2.4  获取目标信息

***该系统之前,首先需要获取到系统的相关信息,获取到的目标信息如图:

wKioL1mLuLTjzFQNAAC3JD_WqJ4889.png-wh_50

图 2.2  系统相关信息

两个漏洞确实是真实存在的,并且获取了当前站点的真实物理路径,另外用户权限是最高级权限system权限,为下一步***计划创建了一个良好的环境。

2.5  执行系统命令

通过对这两个漏洞进行命令执行,在前期收集到该系统是windows系统(一个简单的判断就是根据windowslinux系统对大小写敏感程度不同),所以直接执行windows命令,可知s2-016可以执行系统命令,s2-019执行命令出错,如图:

wKioL1mLuNmhfznJAAEB1spflYE394.png-wh_50

图 2.3  执行系统命令

从执行结果可以看出,该网站是从内网通过端口映射到外网的,并且获取到内网ip地址。查看系统用户,发现3个账号,由此可见权限是很高的!

wKioL1mLuPSgjAi7AAALRwrfWHY730.png-wh_50

图 2.4  系统账户

添加用户eth10,添加账户成功,如图:

wKioL1mLuRGiOiIBAAATmM7BINU922.png-wh_50

图 2.5  添加eth10账户

由于只是***测试,因此不进行下一步操作,下一步就是将添加的用户添加至管理组,然后开远程桌面,从上可以看出,当前权限是最高权限,因此下一步是完全可行的,一旦远程桌面连接成功,那么就可以使用相关工具获取到系统账号密码,然后删除之前添加的账号,这样会大大减小被发现的风险,以便长时间进行控制该服务器。(备注,添加的账号已删除)。

2.6  文件上传

由于本次检测出了s2-016s2-019漏洞,但是只有s2-016可以执行系统命令,如果没有s2-016,那么我们接下来就是进行文件上传,上传***,从而进行控制服务器。

先在当前目录上传一个测试文件,发现虽然显示上传ok,但是却访问不了,初步排断是做了限制,由此排断当前目录没有相关访问权限,通过对tomcat了解,发现webapp下还有一个ROOT目录(相关于网站根目录),于是上传至该目录,发现上传成功,并能访问,如图:

wKioL1mLuTLRy0aoAACzLqyRoqA752.png-wh_50

图 2.6  上传测试文件

wKioL1mLuUyi90WqAAH6xu_2gTM438.png-wh_50

图 2.7  上传测试文件成功

接着上传***文件,并使用菜刀连接,成功,如图:

wKiom1mLuWqSzI95AADoGaEj6rs103.png-wh_50

图 2.8  菜刀成功连接

菜刀连接成功以后,由于是system权限,因此可任意下载系统中文件,并且可以上传恶意文件及工具,从而一步步攻陷该服务器!

通过查看文件发现,之前上传的文件上传成功了,只是访问不了。

wKioL1mLuYuCBGlxAAA-l1y4NBk846.png-wh_50

另外通过上传文件,并配合虚拟终端,则可一步步完全控制该服务器,如图:

wKiom1mLuauzUp-EAAAnYqOi4ts639.png-wh_50

图 2.9  菜刀虚拟终端

至此,已到达想要的***效果,于是本次对该漏洞的利用情况到此结束!

2.7  修复建议

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载。

漏洞: s2-016s2-019


 

三.  总结与建议

3.1  现状总结

综上可知,该站点目前是是否危险的,应尽快修复该漏洞!

3.2  安全建议

对于发现的漏洞应及时整改,打相应补丁进行解决!