首页 > 安全资讯 >

浅析Structs2漏洞及常见入侵手法记录

13-10-15

事隔三个多月了,该补丁的都补丁了,写出来也不算什么大的问题。先来看看漏洞的利用方法和原理(S2-016-S2-017):http: struts apache org release 2 3 x docs s2-016 htmlhttp: struts apache org release 2

事隔三个多月了,该补丁的都补丁了,写出来也不算什么大的问题。先来看看漏洞的利用方法和原理(S2-016-S2-017):

http://struts.apache.org/release/2.3.x/docs/s2-016.html 

http://struts.apache.org/release/2.3.x/docs/s2-017.html

看完了官方的POC基本查找漏洞网站就已经很简单了,只要site:news.action就ok。实际上碰到这种漏洞学校或者政府中招的情况是最为严重的。不出意料,计算机系网站直接验证了我的想法。

 

首页截图:

目标网站首页截图

目标网站首页截图

直接在action后接redirect:www.google.com尝试成功,开虚拟机准备java环境运行我们的structs2利用工具。

structs2利用工具使用结果

structs2利用工具使用结果

实际上要说入侵我们到这里就已经结束了,能跑出这个结果并且直接使用root用户让我们这次入侵的危害性达到了最大!

接下来的事情是对整个网站进行一次大致的安全检查,看看整个系统还有多少地方有漏洞。还记得很久之前这个漏洞还没有被曝光的时候最喜欢的事情就是去网站的留言板测试xss,当然那个时候就是纯粹的测试屏蔽语句并没有尝试获取管理员的cookie。最后的结果是我们整个年级的帐号貌似都被销户了,我测试的光荣战绩也被清空了。。。

继续利用工具(没办法。。人一懒就是喜欢利用工具)查看web根目录查看数据库连接的用户名和密码,搜索到登陆的用户名和密码:

搜索数据库连接

搜索数据库连接

连接数据库获取登录名和密码:

获取到后台登陆名和密码

获取到后台登陆名和密码

这里获取到的密码可以很明显的看出是采用的单次MD5加密且并没有使用$salt,那这样就非常的简单了,直接查高权限用户的密码明文即可。

OK,我们的后台登陆的用户名密码就搞定了,下一步就是找到登陆点,实际上这一步是应该放在第一步的,找到登陆点就可以尝试用万能密码(这个应该已经out了吧。。)或弱密码等方式尝试是否能登陆系统。在这个实际情况中,我们可以去读structs2的配置文件找到登陆点或者通过工具扫描出系统登陆点。

通过工具扫描登陆点

通过工具扫描登陆点

请忽略图中带有ad字母的数据,是被我的反广告系统拦截了。。非常明显的字眼:admin/index.jsp,我想登陆点就是这个了~直接到地址栏输入地址回车打开:

后台登陆点

后台登陆点

。。。我只想说这个系统是不是废弃了,都开学这么久了难道没人登陆过后台么?现在这个没关系,直接开firebug改页面就好了。

通过firebug修改页面进入后台

通过firebug修改页面进入后台

这里可以看到的是这几个页面都没有做权限验证,我现在根本还没有登陆主要的功能菜单就出来了,这个应该属于权限控制问题了,在我改完页面后甚至能直接看到有多少老师和学生的帐号了。现在不管这些,我们已经有了用户名和密码,直接通过正常途径就能登陆,实际在入侵的时候这里可以尝试禁用Javascript脚本,有很多网站的权限验证之后直接就通过Javascript跳转了,页面代码也没有exit,这样就造成了漏洞。

在输入了用户名和密码后我们进入了网站的后台管理系统:

网站管理系统后台

网站管理系统后台

这里看到地址栏并不是我们之前通过工具猜测的admin/index.jsp。。看样子之前我是猜错了,进入系统后第一件事是擦屁股!

删除对系统的操作记录

删除对系统的操作记录

接下来就是入侵服务器的最后一步,上传shell获取对服务器的绝对控制权限!当然之前我们有了structs2的漏洞也可以算控制了服务器,这里介绍利用中国菜刀配合jsp木马控制服务器。

产品名称:中国菜刀,不是原来切菜做饭的道具,而是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用中国菜刀来进行管理!程序大小:214K,在非简体中文环境下使用,自动切换到英文界面。UINCODE方式编译,支持多国语言输入显示。

在功能菜单中找到可以上传文件的地方,粗略的看了下已经上传的文件的下载链接,发现文件名并没有被系统重命名,看样子这里没有限制应该可以直接上传jsp文件。当遇到限制时可以采取合成文件的方法上传jpg等其他文件绕过系统文件名的限制。上传jsp木马并找到上传后文件的位置,利用菜刀直接连接。

利用菜刀连接服务器

利用菜刀连接服务器

这里的配置写的是连接服务器数据库,通过菜刀的提示可以很轻松的按照格式写出如何通过jsp木马连接服务器数据库。配置完成后双击我们建立的选项就能直接连入服务器了~当然在服务器里发现马N只。。

发现N只木马

发现N只木马

看这些木马文件的时间应该和工具流出的时间正好吻合,看样子都是小白呀,把文件传到这里又不能访问。。。不过还是发现”高手“一枚,在web目录下创建了WEB_INF文件夹把木马隐藏到那文件夹里面,粗心的系统管理员可是看不出来的。。

WEB_INF目录下的jsp木马

WEB_INF目录下的jsp木马

尝试访问了下这木马,发现功能不错。。那就谢谢了,这个保存下来以后用着玩。。在编辑了数据库访问权限后菜刀也是能直接访问数据库的,在我们建立的选项上点击右键选择数据库管理即可。

通过菜刀连接数据库

通过菜刀连接数据库

文章开头我就说过web竟然是用root用户跑的,权限危害达到了最大,这里我们上传木马后即可通过我们的jsp文件直接跑虚拟终端!

利用菜刀跑虚拟终端

利用菜刀跑虚拟终端

检测到这里就完毕了,整个系统安全性来说太差,该有的全没有以至于出现现在这种情况。哪怕不出现structs2这种漏洞光靠在系统自带的论坛部位利用xss获取管理员的cookie就能盲打后台了上传木马解决问题。密码设置不能仅仅靠md5就解决问题,不说需要上sha1,但是必须要md5加盐才能稍微安心一点。

注:仅作安全检测,并未脱裤~已联系系统管理方通知修补漏洞

相关文章
最新文章
热点推荐