繁体   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