
每個 Java 軟件架構師都應該知道的 20 件事
if (!req.file) {
res.sendStatus(500); return;
}
try {
const xml = req.file.buffer; const doc = libxmljs.parseXml(xml, {noent: true});
if (doc.text().includes("<!ENTITY")) {
throw new Error("INVALID XML FILE");
}
res.send(doc.text());
} catch (err) {
res.send(err.toString()); res.sendStatus(500);
}
});
在使用我們的庫解析 XML 文檔之前,只需檢查其中是否有包含我們列表中沒有的“ENTITY”的字符串,我們就可以為應用程序提供最低級別的安全性。
我最后要告訴你們的是,最好的安全方法就是首先不要打開門。
除非應用程序需要,否則不要解析 XML。盡管解析 XML 可能會帶來便利,但還有許多方法可以提供等效功能,而不會暴露這些漏洞。
毋庸置疑,保護我們的平臺免受不良行為者的攻擊需要對所使用的技術和基礎設施有廣泛的了解。
然而,如果你負責管理一個高效的團隊,肩負重任,壓力重重,那么盡最大努力為他們提供工具和機制,讓他們發揮出最佳水平就至關重要。這不是一件容易的事。
幸運的是,我們已經為您開發出了理想的解決方案。
我們的動態應用程序安全測試解決方案是一種出色且功能強大的解決方案,它使團隊能夠專注于在網絡上提供最佳解決方案,同時保護您的用戶。
文章來源:Vue XML External Entities (XXE) Guide: Examples and Prevention