大部分的web服務器架構中,web服務器自身都可以訪問互聯網和服務器所在的內網。 上圖展示了 web 服務器的請求可以到達的地方。
1.可以對外網、服務器所在內網、本地進行端口掃描,獲取一些服務的 banner 信息;
2.對內網 web 應用進行指紋識別,通過訪問默認文件實現;
3.攻擊內外網的 web 應用,主要是使用 get 參數就可以實現的攻擊(比如 struts2,sqli 等);
4 利用 file 協議讀取本地文件等。
5端口掃描,如果請求非http服務的端口,比如:http://127.0.0.1:3306 會返回MySQL banner 信息
4、漏洞修復
1,過濾返回信息。如果 web 應用是去獲取某一種類型的文件。那么在把返回結果展示給用戶 之前先驗證返回的信息是否符合標準。
2, 統一錯誤信息,避免用戶可以根據錯誤信息來判斷遠端服務器的端口狀態。
3,限制請求的端口為 http 常用的端口,比如,80,443,8080,8090。
4,黑名單內網 ip。避免應用被用來獲取獲取內網數據,攻擊內網
過濾C段和B段。