2

刚刚在我的一个客户的服务器上发现了这个奇怪的脚本。我不是 CFML 专业人士。有人可以告诉我是真正的 ColdFusion 脚本还是黑客外壳,如果是,它的作用是什么?名字是cf_fun.cfm

<cfset sf = CreateObject("java", "coldfusion.server.ServiceFactory")>
<cfset rxml="">

<cftry>
  <cfscript>
   rxml = XmlNew();
   rxml.xmlRoot = XmlElemNew(rxml,"result");
   rxml.result.XmlText = "0";
  </cfscript>

  <cfswitch expression="#Trim(exec_mode)#"> 
   <cfcase value="encode"> 
    <cfscript>
     sres = sf.DataSourceService.encryptPassword(param);
     rxml.result.XmlChildren[1] = XmlElemNew(rxml,"param");
     rxml.result.param.XmlText = param;
     rxml.result.XmlChildren[2] = XmlElemNew(rxml,"encoded");
     rxml.result.encoded.XmlText = sres;
    </cfscript>
   </cfcase> 

   <cfcase value="test"> 
    <cfscript>
      sf.DataSourceService.verifyDatasource(param);
    </cfscript>
   </cfcase> 

   <cfcase value="commit"> 
    <cfscript>
      sf.DataSourceService.load();
    </cfscript>
   </cfcase> 

   <cfcase value="rollback"> 
    <cfscript>
      sf.DataSourceService.store();
    </cfscript>
   </cfcase> 

   <cfdefaultcase> 
    <cfthrow message="Invalid command specified" errorCode = "1" >
   </cfdefaultcase> 
  </cfswitch> 
<cfcatch>
    <cfscript>
     rxml = XmlNew();
     rxml.xmlRoot = XmlElemNew(rxml,"result");
     rxml.result.XmlText = "-1";
     rxml.result.XmlChildren[1] = XmlElemNew(rxml,"description");
     rxml.result.description.XmlText = cfcatch.message;
    </cfscript>
</cfcatch>
</cftry>

<cfoutput>#rxml#</cfoutput>
4

1 回答 1

3

您没有告诉我们您正在运行什么版本的 ColdFusion 或您在哪里找到该文件?我以前从未听说过。我搜索了我的 ColdFusion 9.0.1 服务器,但在任何地方都找不到。我还搜索了 Google 并在此处找到了对具有该名称的文件的特定引用。这使得该文件看起来好像是 Plesk Panel 的一部分。我找到的参考资料列在托管公司Parallels下。您是使用它们进行托管还是使用 Plesk 面板?如果是这样,那么它似乎是一个合法文件。

我在这里找到了另一个帖子,其中 Parallel 的团队成员回复说“Plesk 不支持 ColdFusion DSN 和 Sandbox”。由于您共享的代码似乎与 ColdFusion 数据源相关,因此可能是他们使用他们的面板为 ColdFusion 创建/编辑 DSN 的“钩子”。

只是我的猜测...

于 2013-05-15T12:57:22.370 回答