參考文章:1.http://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/
2.http://drops.wooyun.org/tips/737
以下是個人的理解:
1.AJP是一種有線協議,它可以看作是HTTP協議的優化版本,允許獨立的Web服務器(例如Apache)連接到Tomcat,之所以使用這種協議,主要因為AJP比原始的文本形式更快速。對於這個協議的使用,我的理解是:apache(httpd)對於一些動態的資源請求(需要servlet來處理的),通過mod_jk來連接到對應的tomcat,同時使用ajp這種協議來進行交換數據。利用這個,完全可以實現簡單的負載均衡,可以參考http://www.open-open.com/lib/view/open1350612892352.html
2.默認情況下,AJP使用的端口是8009,一般不建議開放這個端口供外網訪問
3.如果掃描到了8009號端口開發,可以嘗試進一步利用,簡單的說就是將請求轉發到開發端口的機器,這樣可以間接的訪問某些資源,比如說tomcat通常會在8080端口設置對應用的管理,/manager文件目錄下,需要密碼進行訪問。
但是如果服務器關閉了8080端口,而打開了8009端口,我們可以搭建系統,讓請求轉發到8009號端口,實現管理對方機器應用程序的目的。
通俗的講,以前是通過http請求到8080端口訪問/manager來部署war包的,現在可以通過轉發機制,利用AJP協議,通過8009端口來訪問到/manager頁面,進行tomcat的管理
4.注意一點,tomcat默認訪問/manager下的資源是要求進行身份認證的(在tomcat的安裝目錄的/conf/tomcat-users.xml進行配置的),即使你通過8009端口進行訪問,也必須要進行身份認證。而且tomcat默認是沒有賬戶的,所以很有可能沒辦法利用。
具體的利用過程見參考文章就好。
