安基網 首頁 安全 滲透測試 查看內容

英冠雪缘园:PHP Webshell下繞過disable_function的方法

英超雪缘园 www.trual.com.cn 2019-12-25 12:07| 投稿: xiaotiger |來自: 互聯網


免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

摘要: 系統組件繞過window com組件(php 5.4)(高版本擴展要自己添加)條件:要在php.ini中開啟(如圖)利用代碼,利用shell上傳如下代碼到目標服務器上利用成功后的結果二、利用ImageMagick漏洞繞過disable_functionImageMagick是一套功 ...

零基礎黑客教程,黑客圈新聞,安全面試經驗

關注 公眾號:掌控安全EDU

一、系統組件繞過

window com組件(php 5.4)(高版本擴展要自己添加)
條件:要在php.ini中開啟(如圖)

利用代碼,利用shell上傳如下代碼到目標服務器上

利用成功后的結果




二、利用ImageMagick漏洞繞過disable_function

ImageMagick是一套功能強大、穩定而且開源的工具集和開發包,可以用來讀、寫和處理超過89種基本格式的圖片文件,如果phpinfo中看到有這個,可以嘗試如下利用

利用代碼如下


三.利用環境變量LD_PRELOAD來繞過php disable_function執行系統命令

php的mail函數在執行過程中會默認調用系統程序/usr/sbin/sendmail,如果我們能劫持sendmail程序,再用mail函數來觸發就能實現我們的目的

利用原理

LD_PRELOAD是Linux系統的下一個有趣的環境變量:“它允許你定義在程序運行前優先加載的動態鏈接庫。這個功能主要就是用來有選擇性的載入不同動態鏈接庫中的相同函數。通過這個環境變量,我們可以在主程序和其動態鏈接庫的中間加載別的動態鏈接庫,甚至覆蓋正常的函數庫。一方面,我們可以以此功能來使用自己的或是更好的函數(無需別人的源碼),而另一方面,我們也可以以向別人的程序注入程序,從而達到特定的目的。

可能這個不好理解,我們做一個簡單的測試代碼

保存如上代碼為a.c,并編譯為a,編譯命令如下


gcc a.c -o a

運行a結果如下

以上程序很簡單,根據判斷傳入的字符串是否等于”password”,得出兩種不同結果。 其中用到了標準C函數strcmp函數來做比較,這是一個外部調用函數,我們來重新編寫一個同名函數,代碼如下(保存如下代碼為b.c)

我們編譯以上代碼為一個動態共享庫,編譯命令如下

gcc -fPIC -shared b.c -o b.so

通過LD_PRELOAD來設置它能被其他調用它的程序優先加載

export LD_PRELOAD="./b.so"

我們再次運行a
./a bbb
Correct Password!

我們看到隨意輸入字符串都會顯示密碼正確,這說明程序在運行時優先加載了我們自己編寫的程序。這也就是說如果程序在運行過程中調用了某個標準的動態鏈接庫的函數,那么我們就有機會通過LD_PRELOAD來設置它優先加載我們自己編寫的程序,實現劫持。


結合mail 函數進行實戰測試

那么我們來看一下sendmail函數都調用了哪些庫函數,使用readelf -Ws /usr/sbin/sendmail命令來查看,我們發現sendmail函數在運行過程動態調用了很多標準庫函數:


構造poc思路

編制我們自己的動態鏈接程序。 通過php的putenv來設置LD_PRELOAD,讓我們的程序優先被調用。 在webshell上用mail函數發送一封郵件來觸發。具體實現如下

1.編制我們自己的動態鏈接程序,代碼如下(功能是執行mkdir test)
執行編譯為一個動態共享庫的命令如下

gcc -c -fPIC a.c -o a
gcc -shared a -o a.so

代碼

2.利用webshell,上傳編譯后的a.so到目標服務器
3.通過putenv來設置LD_PRELOAD,讓我們的程序優先被調用。在webshell上用mail函數發送一封郵件來觸發。利用代碼如下

結果如下,成功執行命令,創建文件test


四.利用pcntl_exec突破disable_functions

pcntl是linux下的一個擴展,可以支持php的多線程操作。(與python結合反彈shell) pcntl_exec函數的作用是在當前進程空間執行指定程序,版本要求:PHP 4 >= 4.2.0, PHP 5

利用代碼如下


曾經就有一個網站是如此拿下的



小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里 注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

本文出自:https://www.toutiao.com/i6765668794598687244/

免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

相關閱讀

最新評論

 最新
返回頂部
{ganrao} 麻将扑克牌怎么发 s级素人系列番号 日本av女优名图对照表 一级特黄大片录像i删全 辽宁25选4中奖号码查询 江西时时彩 nba热火vs步行者第七场 11选5每期必中 美女麻将真人馆通关 黄色片怎么办 山东体彩十一选五遗 最好的理财产品 日本av中文字幕bt下载 3d专家预测总汇 山东时时彩 长春按摩会所哪里比较好