Apache在301响应中通过http1.0返回私有IP

时间:2019-05-21 12:20:11

标签: apache http

在nikto扫描过程中,我们发现Apache(或其出现)在301重定向到https的过程中返回了服务器专用IP。我能够通过简单的卷曲来复制它:

curl http://example.com/ --http1.0 --header 'Accept:' --header 'Connection:' --header 'Host:'

哪个返回:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <html><head>
 <title>301 Moved Permanently</title>
 </head><body>
 <h1>Moved Permanently</h1>
 <p>The document has moved <a href="https://PRIVATEIP/">here</a>.</p>
 </body></html>

尽管我现在已经确定了这个问题,但是如何克服此问题的资源却非常有限,Nikto文档说明将此称为IIS 7错误。

据我所知,我们的选项要么试图解决此问题,要么不允许http1.0

修复:

遵循这个非常旧的建议(https://securitytracker.com/id/1002188),我可以确认ServerName设置为服务器主机名,并且UseCanonicalName甚至没有出现在http.conf文件中,但是在Apache文档中,默认情况下始终为Off 。我还更改了/ etc / hosts文件,使主机名引用127.0.0.1,但仍然没有更改。我只是不知道301重定向响应中IP的位置或原因。

禁用http1.0

对于特定站点,我已将Apache conf修改为:

RewriteCond %{THE_REQUEST} HTTP/1\.0$
RewriteRule .* - [F]

但是,当我执行新的curl请求或再次运行nikto时,似乎没有什么区别。

任何想法都会很棒,因为我一天的大部分时间都在尝试解决这个问题:)

0 个答案:

没有答案