IIS 7.0 网站漏洞利用及修复方法
简介
Internet Information Services(IIS)是微软公司的Web服务器软件,在Windows Server操作系统中常被用于搭建网站。然而,IIS也存在着一些漏洞,黑客可以利用这些漏洞攻击IIS上的网站,从而获得网站的控制权。本文将讲解两种IIS 7.0网站漏洞的利用方法,并提供修复方案。
IIS 7.0网站漏洞利用
漏洞1:IIS 用户枚举漏洞
攻击者可以利用此漏洞通过长时间的请求尝试,查询出一些IIS服务器上存在的用户列表,从而更容易进行后续的攻击。
漏洞利用过程:
-
当服务器返回“HTTP Error 404.7 - Not Found”错误时,就表示用户“Anonymous”存在。
-
当服务器返回“HTTP Error 404.7 - Not Found”错误时,就表示Users文件夹存在。
-
重复上述步骤,在Users文件夹下逐一枚举用户,例如访问:https://your.target.site/?~1%20administrator 就可以判断管理员账号是否存在。
漏洞修复方法:
-
更新IIS服务器版本到IIS 8.0或更高版本,因为IIS 8.0及以上的版本已经修复了该漏洞。
-
修改IIS的默认设置,使其不返回用户账户信息。
在IIS的web.config文件中,添加以下代码:
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-AspNet-Version" />
<add name="X-AspNet-Version" value="2.0.50727" />
<remove name="X-Powered-By" />
<add name="X-Powered-By" value="ASP.NET" />
<remove name="Server" />
<add name="Server" value="Microsoft-IIS/7.0" />
</customHeaders>
</httpProtocol>
<security>
<requestFiltering>
<verbs allowUnlisted="false">
<add verb="*" allowed="false" />
</verbs>
<hiddenSegments>
<add segment="bin" />
<add segment="App_Code" />
<add segment="App_Data" />
<add segment="App_GlobalResources" />
<add segment="App_LocalResources" />
<add segment="App_Themes" />
<add segment="Resources" />
</hiddenSegments>
<fileExtensions>
<add fileExtension=".config" allowed="false" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
漏洞2:IIS 物理文件路径泄露漏洞
攻击者可以利用此漏洞,通过IIS服务器暴露的物理路径信息,获取到网站的敏感文件,如源代码等。
漏洞利用过程:
-
匹配到一个文件夹,名称为"scripts"
-
服务器返回指向网站根目录的一个路径,例如"C:\inetpub\wwwroot\"
-
再通过访问:https://your.target.site/scripts/../web.config
就可以获取到网站根目录的web.config文件,其中包含了很多敏感信息。
漏洞修复方法:
-
更新IIS服务器版本到IIS 8.0或更高版本,因为IIS 8.0及以上版本已经修复了该漏洞。
-
在IIS的web.config文件中,添加以下代码:
<system.webServer>
<security>
<requestFiltering>
<fileExtensions>
<add fileExtension=".config" allowed="false" />
<add fileExtension=".cs" allowed="false" />
<add fileExtension=".vb" allowed="false" />
<add fileExtension=".asmx" allowed="false" />
<add fileExtension=".ashx" allowed="false" />
<add fileExtension=".soap" allowed="false" />
<add fileExtension=".rem" allowed="false" />
<add fileExtension=".axd" allowed="false" />
<add fileExtension=".asax" allowed="false" />
<add fileExtension=".ascx" allowed="false" />
<add fileExtension=".master" allowed="false" />
<add fileExtension=".swf" allowed="false" />
<add fileExtension=".xamlx" allowed="false" />
<add fileExtension=".dll" allowed="false" />
</fileExtensions>
<hiddenSegments>
<add segment="bin" />
<add segment="App_Code" />
<add segment="App_Data" />
<add segment="App_GlobalResources" />
<add segment="App_LocalResources" />
<add segment="App_Themes" />
<add segment="Resources" />
</hiddenSegments>
<verbs>
<add verb="OPTIONS" allowed="false" />
<add verb="TRACE" allowed="false" />
</verbs>
</requestFiltering>
</security>
</system.webServer>
结论
IIS服务器漏洞虽然容易被利用,但是通过修复措施可以有效的降低安全风险。
最好的解决方法仍然是将IIS服务器更新到最新版本。此外通过添加一些安全设置,也可以降低被攻击的风险。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IIS 7.0 网站漏洞利用及修复方法 - Python技术站