实战绕过宝塔PHP disable_function 限制getshell
一、這次做的目標站點是一個某XX站點,通過前期的信息收集,可以發現該站點是由寶塔(一般根服務器開放端口888、8888和報錯界面判定)+ShuipfCMS框架搭建的
端口信息
后臺
二、默認的ShuipfCMS系統后臺訪問http://www.xxx.com/admin/會自動跳轉到后臺,但是這個站點感覺是被二次開發過的,站點后臺和前端頁面不在同一個子域名下,該后臺還是通過收集子域名得到的,訪問某xxx.xxx.com會自動跳轉到后臺登錄頁面。
三、這里想著嘗試繞過驗證碼來對后臺用戶名密碼進行密碼修改,可是失敗了,于是就手動嘗試了幾個弱口令,當輸入admin/admin123竟然進去了,在這里我只想說運氣太好了。
登錄
四、尋找后臺上傳點,友情鏈接,編輯文章處嘗試了一下上傳,發現都是使用白名單對文件后綴過濾
上傳
于是繼續找上傳點,最后在界面-模板風格-模板管理功能點上找到了一個任意文件上傳的地方
模板
webshell
五、使用鏈接工具鏈接webshell,但是無法使用命令行和查看其他目錄文件
這里猜想
應該是對用戶訪問目錄權限進行了限制和php,disable_functions禁用了一些函數,寫入php測試語句查看禁用了哪些函數
1、Bypass disable_function
php測試語句:<?php?phpinfo();?>?禁用的函數:passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenvphpinfo
嘗試繞過disable_functions,在這里使用了很多方法沒有繞過,最后使用蟻劍一個大佬寫的繞過disable_functions插件才能繞過的,具體操作步驟如下:
選擇Fastcgi/PHP-FPM模塊,輸入FPM/FCGI模塊絕對路徑,其他默認即可
點擊開始,會在存在后門文件的目錄下.antproxy.php文件
用蟻劍鏈接這個文件,密碼為你之前上傳一句話木馬的密碼。
2、Bypass 目錄限制
???????
在webshell后門文件目錄下創建一個名為.user.ini的文件,即可訪問其他目錄內容如下:open_basedir=:/六、這種方法只能在幾分鐘內可以使用cmd,之后就不能使用,具體原因我也不太清楚,所以我們要使用公網的一臺VPS服務器,用來反彈shell,后續的步驟全都在VPS上操作。
注:后續嘗試使用臟牛,SUID,數據庫等提權方式都是以失敗告終,最后還是放棄了,可惜沒有拿到root權限
總結
以上是生活随笔為你收集整理的实战绕过宝塔PHP disable_function 限制getshell的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: f450四轴使用技巧
- 下一篇: 【php内核与扩展开发系列】PHP生命周