我正在努力修復滲透測驗中的一些安全漏洞。有問題的漏洞是“Web 服務器易受 HTTP 主機標頭攻擊”,建議為“...主機請求標頭是用戶指定的,不應受信任。確保使用嚴格的白名單來驗證主機標頭。”
我目前使用 React.js 作為我的前端框架和 Firebase for Functions (Node.js)、托管、身份驗證、存盤和分析。從我的一般互聯網搜索中,我不明白我應該在哪里甚至是什么地方改變來修復這個漏洞?我收集到我可能在我的服務器呼叫中使用了使用原始“HOST”變數的代碼,但我在我的代碼中看不到任何地方都可以顯式訪問。我確實有一個functions.https.onCall()功能,它可能在內部使用 HOST。顯然有很多onCreate(), onUpdate(), 等電話。也許這是我在幕后使用的另一個函式或庫?
防止對 Firebase 主機頭攻擊的解決方案是什么?
Firebase 函式 package.json:
{
"name": "functions",
"scripts": {
"lint": "tslint --project tsconfig.json",
"build": "tsc",
"serve": "npm run build && firebase emulators:start --only functions",
"shell": "npm run build && firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "10"
},
"main": "lib/index.js",
"dependencies": {
"@google-cloud/firestore": "^4.10.0",
"@sendgrid/mail": "^7.4.7",
"@types/nodemailer": "^6.4.0",
"@types/uuid": "^8.3.0",
"firebase-admin": "^9.5.0",
"firebase-functions": "^3.16.0",
"order-id": "^2.1.1",
"papaparse": "^5.3.0",
"request": "^2.88.2",
"uuid": "^8.3.2"
},
"devDependencies": {
"firebase-functions-test": "^0.2.3",
"tslint": "^5.12.0",
"typescript": "^3.9.9"
},
"private": true
}
uj5u.com熱心網友回復:
如果您使用的是 Firebase 托管,則報告可能指的是Host標頭用于將請求路由到相應站點的事實。這按預期作業 - 由于 Firebase 托管是一項多租戶服務,因此Host標頭提供了消除站點之間歧義的必要資訊。
您無需采取任何措施 - Firebase 已經針對已知網站仔細驗證了標頭。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/444488.html
