phpinfo 信息利用
0x01 基礎信息
1.system info:提供詳細的操作系統信息,為提權做準備。
2.extension_dir:php擴展的路徑
3.$_SERVER[‘HTTP_HOST’]:網站真實IP、CDN什么的都不存在的,找到真實ip,掃一掃旁站,沒準就拿下幾個站。
4.$_SERVER[‘DOCUMENT_ROOT’]:web根目錄
5.臨時文件路徑
這個配置在我的phpinfo中并沒有看到~據說可以向phpinfo()頁面post一個shell(自己寫一個上傳頁面),可以在_FILES[“file1”]中看到上傳的臨時文件,如果有個lfi,便可以直接getshell了。參考鏈接:http://zeroyu.xyz/2018/11/13/what-phpinfo-can-tell-we/#%E4%B8%B4%E6%97%B6%E6%96%87%E4%BB%B6%E8%B7%AF%E5%BE%84
0x02 重要配置
1.allow_url_include:遠程文件包含;
2.disable_functions:表示禁用的函數名
3.asp_tags:php標簽有4種形式,如果這個選項不開啟的話(一般默認不開啟),使用asp的標簽是不會解析的。
注意:PHP7中不再含有“asp_tags”。
4.short_open_tag:允許<??>這種形式,并且<?=等價于<? echo
disable_functions:有時候我們上傳了一個webshell卻不能用,有很大可能是管理員做了配置,禁用了php執行系統命令的函數。
繞過的方式有這么幾個:
1.黑名單繞過
百密一疏,尋找黑名單中漏掉的函數,上圖中禁用的函數算是比較全的了。
比如有時候沒有禁用proc_open
比如在編譯php時如果加了-–enable-pcntl選項,就可以使用pcntl_exec()來執行命令。
pcntl是linux下的一個擴展,可以支持php的多線程操作。
pcntl_exec函數的作用是在當前進程空間執行指定程序,版本要求:PHP > 4.2.0;
<?php pcntl_exec(“/bin/bash”, array(“/tmp/b4dboy.sh”));?>
2.利用擴展(如ImageMagick)繞過
參考鏈接:https://www.waitalone.cn/imagemagic-bypass-disable_function.html
5.enable_dl:上面說的利用擴展庫繞過disable_functions,需要使用dl()并且開啟這個選項
6.magic_quotes_gpc:它是用來實現addslshes()和stripslashes()這兩個功能的,對SQL注入進行防御。
7.open_basedir:將用戶可操作的文件限制在某目錄下,但是這個限制是可以繞過的。
PHP繞過open_basedir列目錄的研究:https://www.leavesongs.com/PHP/php-bypass-open-basedir-list-directory.html
php5全版本繞過open_basedir讀文件腳本:https://www.leavesongs.com/bypass-open-basedir-readfile.html
繞過open_basedir讀文件腳本:https://blog.csdn.net/niexinming/article/details/53146095
未完待續…
總結
以上是生活随笔為你收集整理的phpinfo 信息利用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mac MySQL配置环境变量的两种方法
- 下一篇: vim编辑器异常退出产生备份文件