我制作了一个简单的.htaccess文件,可防止用户加载系统核心文件夹中的url。然而,这并没有完全奏效。
如果我加载http://domain.com/systemfolder/
,我会收到404 File not found
,这样很酷,但如果我输入http://domain.com/systemfolder
(请注意该网址没有尾随/
),mod_dir会重定向如果从http://domain.com/systemfolder
到http://domain.com/systemfolder/
。如果我为该特定目录禁用mod_dir
,则会获得401 Permission denied
而不是404 File not found
,因此攻击者可以识别我的系统。我该如何解决这个问题?
其他信息:我正在使用mod_rewrite
进行404.ing。
我当前的.htaccess(位于系统根目录下的所有系统文件夹中)如下所示:
<IfModule mod_dir.c>
DirectorySlash Off
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ - [R=404,L]
</IfModule>
<IfModule !mod_rewrite.c>
Order allow,deny Deny from all
</IfModule>
你可能会问自己:为什么他会这样做?
答案很简单:基本上任何开源CMS如Joomla!,WordPress或Drupal都容易受到攻击,因为这些并非100%防弹。一旦破解者发现漏洞,他基本上会告诉成千上万的破解者,他们有机会破解该系统。这些系统不是100%防弹的原因是10%,因为人类仅仅是人类,90%是因为有数千人为系统做出贡献,并不是每个人都能生成安全的代码。事实证明,成千上万的人可以相对快速地发布这个修补程序。
饼干的第一步是识别这样的系统。如果他能够在网址中加入额外的wp-admin
并且它可以正常工作,那么他基本上确定了WordPress网站。 Cracker的第二步是找到漏洞。第三步是利用该漏洞。
我的方法是在步骤1停止破解,因此他无法识别系统。当然,页脚中可能会有系统签名,但这需要人工交互。通过屏蔽每个网址和基于密钥的网页内容加载(如果在uri中没有提供有效密钥,用户将基本上无法加载任何图像或视频,方法是加载在图像末尾附加一个时间键的页面网址)。管理将在专用服务器上,只对某些IP开放,所以是的,我认为它会非常安全。