1.X-Frame-Options劫持
漏洞类型:内容欺骗
描述:
点击劫持(ClickJacking)是一种视觉上的欺骗手段。攻击者使用一个透明的、不可见
的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户将在不知
情的情况下点击透明的iframe页面。通过调整iframe页面的位置,可以诱使用户恰好点
击在iframe页面的一些功能性按钮上。
HTTP 响应头信息中的X-Frame-Options,可以指示浏览器是否应该加载一个 iframe
中的页面。如果服务器响应头信息中没有X-Frame-Options,则该网站存在
ClickJacking攻击风险。网站可以通过设置 X-Frame-Options 阻止站点内的页面被其他
页面嵌入从而防止点击劫持。
解决方案:
方案1.
修改web服务器配置,添加X-Frame-Options响应头。赋值有如下三种:
1、DENY:不能被嵌入到任何iframe或者frame中。
2、SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中。
3、ALLOW-FROM uri:只能被嵌入到指定域名的框架中。
例如:
apache可配置http.conf如下:
Header always append X-Frame-Options "DENY"
方案2.
修改web.xml
httpHeaderSecurity
org.apache.catalina.filters.HttpHeaderSecurityFilter
antiClickJackingEnabled
true
antiClickJackingOption
sameorigin
antiClickJackingUri
https://baidu.com/
true
httpHeaderSecurity
/*
REQUEST
2.通过HTTP获取远端WWW服务信息
漏洞详情 Server is running
Version:
[Apache-Coyote/1.1]
漏洞类型:远程信息泄露
详细描述:本插件检测远端HTTP Server信息。这可能使得攻击者了解远程系统类型以便进行下一
步的攻击。
解决方案:tomcat服务器修改config/server.xml文件
3.检测到目标URL存在http host头攻击漏洞
命令执行类型:系统命令执行
详细描述:为了方便的获得网站域名,开发人员一般依赖于HTTP Host header。例如,在php里用
_SERVER["HTTP_HOST"]。但是这个header是不可信赖的,如果应用程序没有对host
header值进行处理,就有可能造成恶意代码的传入。
解决方案:web应用程序应该使用SERVER_NAME而不是host header。
在Apache和Nginx里可以通过设置一个虚拟机来记录所有的非法host header。在
Nginx里还可以通过指定一个SERVER_NAME名单,Apache也可以通过指定一个
SERVER_NAME名单并开启UseCanonicalName选项。
tomcat将Host里的name修改为静态的域名,如下:
name将localhost改为静态ip
4.缺少“X-Content-Type-Options” 头、缺少“X-XSS-Protection” 头
《1.》TTP X-XSS-Protection
响应标头是Internet Explorer,Chrome和Safari的一项功能,可在检测到反映的跨站点脚本(XSS)攻击时阻止页面加载。虽然这些保护在现代浏览器中很大程度上是不必要的,当站点实现Content-Security-Policy禁用内联JavaScript('unsafe-inline'
)的强大功能时,它们仍然可以为尚未支持CPS的旧版Web浏览器的用户提供保护。
语法:
X-XSS-Protection: 0 X-XSS-Protection: 1 X-XSS-Protection: 1; mode=block X-XSS-Protection: 1; report=
解决方案:Apache
Header set X-XSS-Protection "1; mode=block"
《2.》描述:X-Content-Type-Options
响应首部相当于一个提示标志,被服务器用来提示客户端一定要遵循在 Content-Type 首部中对MIME类型的设定,而不能对其进行修改。这就禁用了客户端的 MIME类型嗅探行为,换句话说,也就是意味着网站管理员确定自己的设置没有问题。
这个消息首部最初是由微软在 IE 8 浏览器中引入的,提供给网站管理员用作禁用内容嗅探的手段,内容嗅探技术可能会把不可执行的 MIME 类型转变为可执行的 MIME 类型。在此之后,其他浏览器也相继引入了这个首部,尽管它们的 MIME 嗅探算法没有那么有侵略性。
nosniff
只应用于 "script
" 和 "style
" 两种类型。事实证明,将其应用于图片类型的文件会导致与现有站点冲突。
Header type: Response header
Forbidden header name:no
语法:X-Content-Type-Options: nosniff
指令:nosniff
下面两种情况的请求将被阻止:
style
" 但是 MIME 类型不是 "text/css
",script
" 但是 MIME 类型不是 JavaScript MIME类型。tomcat配置“X-Content-Type-Options” 头解决方案:
打开tomcat/conf/web.xml添加如下代码(低版本tomcat有可能缺少HttpHeaderSecurityFilter.class文件,可以下载高本版tomcat在catalina.jar中):
httpHeaderSecurity
org.apache.catalina.filters.HttpHeaderSecurityFilter
antiClickJackingOption
SAMEORIGIN
true
httpHeaderSecurity
/*
算-Content-Type-Options”头缺少“X-Content-Type-Options”头缺少“X-Content-Type-Options”头