簡體   English   中英

安全性 - URLConnection 服務器端請求偽造 (SSRF) 和文件泄露

[英]Security - URLConnection Server-Side Request Forgery (SSRF) and File Disclosure

當 Web 服務器對用戶提供的未經驗證的目標參數執行請求時,就會發生服務器端請求偽造。 此類漏洞可能允許攻擊者訪問內部服務或從您的 Web 服務器發起攻擊。

URLConnection 可以與file://協議或其他協議一起使用,以訪問本地文件系統和可能的其他服務。

如何修復此漏洞?

HttpURLConnection conn = null;
URL url = new URL(pagina);
if (!url.getProtocol().startsWith("http"))
    throw new Exception();
InetAddress inetAddress = InetAddress.getByName(url.getHost());
if (inetAddress.isAnyLocalAddress() || inetAddress.isLoopbackAddress() || inetAddress.isLinkLocalAddress()) {
    throw new Exception();
}
conn = (HttpURLConnection) url.openConnection();
return conn;

您可以根據系統中一組允許的 URL 驗證請求中傳遞的 URL 以進行連接。

URL url = 新 URL(頁面);

在您的情況下,您可以驗證url.getHost()以檢查您的系統是否應該允許對該系統的請求。 一種簡單的方法是創建一個允許的 URL/地址列表,然后對它們執行驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM