簡體   English   中英

htacces / htpasswd有多安全?

[英]How secure is htacces/htpasswd?

密碼只有一兩個受信任的人。 htpasswd在public_html目錄之外。 受保護的文件夾中的腳本包含未清除的輸入。 沒有密碼就可以進行SQL注入嗎?

沒有密碼就可以進行SQL注入嗎?

假設您的.htaccess和.htpasswd實際上正在顯示您的用戶名和密碼的屏幕,那么它是安全的。 如果用戶名和密碼的組合無效,則Apache將返回HTTP 403:Forbidden標頭,這意味着該請求從未傳遞給PHP。 這意味着沒有有效的用戶名和密碼就無法執行泄漏的腳本。

受保護的文件夾中的腳本包含未清除的輸入。

我認為您應該考慮對輸入內容進行清理,無論頁面是否安全。

不管設置如何,您始終總是 始終處理數據,就好像它隨時都將跳出監視器,而SQL直接注入您的心中。 您不必問在x,y和z的情況下是否有可能,您始終假設默認情況下是這樣。

它甚至不需要惡意,如果處理不當,任何包含引號的用戶輸入都可能使您的查詢混亂,因此無論如何您都需要轉義輸入。

只需清理這些輸入即可。 我是認真的。 一個系統與其最薄弱的環節一樣強大。 即使您信任您可以訪問的人員,也總會有其他攻擊者可以利用它來解決此問題。 一些可能性:

  • 社會工程學(這里的無限可能)
  • 網絡嗅探(尤其是在沒有SSL的情況下提供網站服務)
  • 受信任的用戶的瀏覽器或操作系統中的漏洞
  • 弱密碼
  • 遭到破壞的Web服務器(如果有人設法刪除.htaccess文件,則所有內容都會丟失)
  • 網絡釣魚
  • DNS欺騙

htpasswd上無法進行SQL注入,但還有其他利用。 您已經將文件放置在Web根目錄之外,但還應通過將其添加到htaccess中來防止apache服務這些頁面:

<Files ~ "^\.ht"> Order allow,deny Deny from all </Files>

SQL注入是不可能的,因為沒有密碼的攻擊者一開始將無法通過Apache。

但是,HTTP Basic Auth容易受到中間人的攻擊,因為密碼很容易被攔截(如果它是公共網站,則可能要使用HTTPS)。

如果設置正確,我認為沒有辦法繞過受密碼保護的目錄。

使用基本身份驗證時,密碼以明文形式提交,因此,如果您不使用https,而您的人員正在使用代理,則有人可以在此處使用它。 用戶也可以在瀏覽器中保存密碼。

在這里,SQL注入流仍將僅由用戶名/密碼牆保護。

您必須記住,如果不使用SSL,則密碼/用戶名將以明文形式通過網絡。 這意味着如果任何人可以嗅探到該流量,他們將獲得用戶名/密碼。

同樣,這也無法保護您免受合法用戶在您的應用程序上嘗試SQL注入的攻擊。 您必須記住,大多數攻擊來自內部。

我將是您,我將密碼作為一種快速修復方法,但是當您有機會時,可以解決SQL注入/輸入衛生問題。

.htaccess無法將您從注射中拯救出來。

想象一下一種情況,當您信任的一個人在他的PC上感染病毒時。 病毒會竊取他的密碼並將其提供給黑客。 黑客登錄並通過SQL注入刪除數據庫。

即使這種情況沒有發生,也請務必轉義查詢,以便用戶可以在查詢中安全使用字符“'”。

SELECT `name` FROM `table` WHERE `name` = 'pub 'cosa blanca''; --SQL error

暫無
暫無

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

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