利用.user.ini 進行解析文件。
不管是nginx/apache/IIS,只要是以fastcgi運行的php都可以;
什么是.user.ini 先看下官方的廢話。
簡單來講,第一段話,反過來就是.htaccess 在特定的情況下和.user.ini作用相同。而.htaccess 利用相信大家都不陌生。
第二句話就是字面意思了。簡單講就是后面利用的時候,你這個.user.ini在任何目錄下都無所謂,php會去找到它的。.user.ini就相當于php.ini的意思了。
第三句就是條件了。
最后一句簡單講 .user.ini 是動態讀取的,不需要去重啟使配置生效,默認是300秒 重新加載INI文件。
那么我們就可以到php.ini中尋找 具備PHP_INI_PERDIR和PHP_INI_USER 模式的INI設置了。
其中有兩個設置比較有意思,寫網站的朋友或許有時候常常接觸到。
這里就不去看官方的描述了。意思簡單清晰明了。類似于require();
我們如果在.user.ini中設置 比如第一個 auto_prepend_file
在.user.ini 中添加如下一串代碼
auto_prepend_file=shell
然后在文件shell中寫入php代碼
當前目錄下我寫了一個php的首頁文件。內容如下
按照原理,shell文件的內容應該會被包含在 hello world 上面。
訪問一下, 執行成功。
如果.user.ini中 寫的是
auto_append_file =shell
那么執行的代碼就在下面。
最后附上我的測試環境。其中php 從5.3.29 到7.3.9 都可以。Nginx 的話是1.15版本
總結:通過上傳自定義文件.user.ini
使php去讀取其內容,將指定文件包含在一個正常的php文件中,進行解析,從而達到getshell的結果。
該方法用在文件上傳,.user.ini可以上傳成功,且在上傳目錄下存在一個正常的php文件即可。
可以在php文件無法正常上傳,不存在文件包含漏洞,圖片馬上傳之后無法解析的情況下進行。
且在上傳目錄下存在一個正常的php文件即可。
可以在php文件無法正常上傳,不存在文件包含漏洞,圖片馬上傳之后無法解析的情況下進行。
審核編輯:湯梓紅
-
文件
+關注
關注
1文章
571瀏覽量
24825 -
User
+關注
關注
1文章
27瀏覽量
10843
原文標題:文件上傳另類GETshell方法
文章出處:【微信號:菜鳥學安全,微信公眾號:菜鳥學安全】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
protel 的特殊庫與另類庫...
基于Iframe內聯框架的異步文件上傳與刪除
![基于Iframe內聯框架的異步<b class='flag-5'>文件</b><b class='flag-5'>上傳</b>與刪除](https://file.elecfans.com/web2/M00/49/51/poYBAGKhwJ-AWe0oAAAT0oeveqk235.jpg)
java Web如何實現文件的上傳與下載
![java Web如何實現<b class='flag-5'>文件</b>的<b class='flag-5'>上傳</b>與下載](https://file.elecfans.com/web1/M00/86/4B/o4YBAFx_OauAE1EYAAMRMBKplWc168.png)
如何把鴻蒙的文件上傳到python服務器端
![如何把鴻蒙的<b class='flag-5'>文件</b><b class='flag-5'>上傳</b>到python服務器端](https://file.elecfans.com/web1/M00/EB/59/pIYBAGB5NN6AQqrmAABjtkSO1Cg824.png)
評論