Apache tomcat中間件出現(xiàn)的安全問(wèn)題
tomcat在安裝成功的時(shí)候,后臺(tái)弱密碼(tomcat tomcat)
而且Manager是Tomcat自帶的、用于對(duì)Tomcat自身以及部署在Tomcat上的應(yīng)用進(jìn)行管理的web應(yīng)用,以及用戶自己的配置
http://www.365mini.com/page/tomcat-manager-user-configuration.htm
默認(rèn)的開(kāi)放的端口是8080。
利用弱密碼,登錄tomcat后臺(tái)登錄界面。
一般找站通過(guò)找到后臺(tái)的/manager,登錄。可以利用密碼爆破或是弱密碼登錄。
上傳大馬,進(jìn)行g(shù)etsehll
想大馬壓縮并且改為后綴為.war的java的歸屬文檔。
上傳成功。訪問(wèn)文件。
getshell。
如何防御tomcat出現(xiàn)的安全問(wèn)題
1.刪除manager這個(gè)文件。
2.重新設(shè)置tomcat后臺(tái)的密碼
3.修改默認(rèn)的端口
fcgi_exp 對(duì)php-fpm的遠(yuǎn)程利用
什么是fcgi?
Fastcgi是CGI的升級(jí)版,一種語(yǔ)言無(wú)關(guān)的協(xié)議,用來(lái)溝通程序(如PHP, Python, Java)和Web服務(wù)器(Apache2, Nginx), 理論上任何語(yǔ)言編寫(xiě)的程序都可以通過(guò)Fastcgi來(lái)提供Web服務(wù)。
Fastcgi的特點(diǎn)是會(huì)在一個(gè)進(jìn)程中依次完成多個(gè)請(qǐng)求,以達(dá)到提高效率的目的,大多數(shù)Fastcgi實(shí)現(xiàn)都會(huì)維護(hù)一個(gè)進(jìn)程池。
利用腳本,fcgi調(diào)用php-fpm
來(lái)完成
fcgi對(duì)php-fpm又有什么影響
PHP-fpm就是針對(duì)于PHP的,F(xiàn)astcgi的一種實(shí)現(xiàn),他負(fù)責(zé)管理一個(gè)進(jìn)程池,來(lái)處理來(lái)自Web服務(wù)器的請(qǐng)求。
目前,PHP-fpm是內(nèi)置于PHP的。
也可以成功的寫(xiě)入寫(xiě)入webshell
安全問(wèn)題
1.root啟動(dòng)php-cgi,webshell也會(huì)擁有root權(quán)限。
2.php-cgi監(jiān)聽(tīng)端口對(duì)外開(kāi)放,導(dǎo)致本地文件包含漏洞。
3.php-fpm監(jiān)聽(tīng)端口對(duì)外開(kāi)放,導(dǎo)致遠(yuǎn)程文件包含漏洞。
4.php-fpm作為php解析器時(shí),webshell可以繞過(guò)open_basedir、safe_mode等限制。
http://blog.sina.com.cn/s/blog_777f9dbb0102vadk.html
建議:
1、倘若使用php-cgi,則需切換至非root用戶去啟動(dòng)。
2、對(duì)于php-cgi或php-fpm監(jiān)聽(tīng)端口必須對(duì)外開(kāi)放的情況(一般用于nginx/apache與php分離),則需做訪問(wèn)控制,只允許指定IP訪問(wèn)。
redis
什么是redis?
Redis是一個(gè)開(kāi)源的使用ANSI C語(yǔ)言編寫(xiě)、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API。
優(yōu)點(diǎn)
edis是一個(gè)key-value存儲(chǔ)系統(tǒng)。和Memcached類似,它支持存儲(chǔ)的value類型相對(duì)更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數(shù)據(jù)類型都
支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎(chǔ)上,redis支持各種不同方式的排
序。與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會(huì)周期性的把更新的數(shù)據(jù)寫(xiě)入磁盤(pán)或者把修改操作寫(xiě)入追加的記錄文
件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。
利用redis寫(xiě)webshell
連接成功,并且在文件中創(chuàng)建成功。
然后編輯一個(gè)webshell
利用redis服務(wù)實(shí)現(xiàn)ssh免秘鑰登錄
- 在本地實(shí)現(xiàn)ssh-keygen -t rsa 然后切換到.ssh目錄下
- 然后將ssh公鑰文件重定向到新文件下,寫(xiě)到redis服務(wù)端
- 連接到服務(wù)端,更改路徑。把公鑰文件內(nèi)容寫(xiě)到keys下
- 最后ssh遠(yuǎn)程連接 登錄到服務(wù)器
redis 編寫(xiě)計(jì)劃任務(wù)
1.在服務(wù)端連接redis寫(xiě)一個(gè)計(jì)劃任務(wù)。
2.在本地監(jiān)聽(tīng)一個(gè)設(shè)置的8888端口。
連接成功,成功的反彈shell。