发现项目中存在 X-Frame-Options 低危漏洞: Haaungb"
|.*),t3
(w
使用 X-Frame-OptionsEDIT 42Tjbten_u
X-Frame-Options 有三个值: nyw, Fu
^ Gq2"rDM
DENY 4+$<G /K
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。 ^G~W}z?-
SAMEORIGIN 9bMM-~
表示该页面可以在相同域名页面的 frame 中展示。 4CW/
ALLOW-FROM uri x
+q"%9.c
表示该页面可以在指定来源的 frame 中展示。 A AH-Dj|&l
ed'}ReLK
h$f/NSct2
换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。 6mep|![6
6!n"E@Bwu
另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。 xv$^%(Ujp
xp)#a_}
V*=cNj
#_2V@F+,
d%t]:41=Z
T5 5l-.>
配置 Apache ]N!SG@X+
配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 'site' 的配置中: D4
{gt\V
3a!/EP
Header always append X-Frame-Options SAMEORIGIN D'fP2?3FK
J:?t.c~$o
iUS379wM}
配置 nginx ;f=:~go
配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 'http', 'server' 或者 'location' 的配置中: /D1Bf:'(
S~(4q#Dt-
add_header X-Frame-Options SAMEORIGIN; 5\R8>G~H
45kMIh~~X
,yV
pB)IQ
配置 IIS ]3d&S5zU
配置 IIS 发送 X-Frame-Options 响应头,添加下面的配置到 Web.config 文件中: 2<ef&?ljk
R)<Fqa7Tm
复制代码 mG?a)P
<system.webServer> pM(y?zGt
... u52;)"&=)
Q=^}B}G
<httpProtocol> A8Jbl^7E+
<customHeaders> D"^ogY#LK
<add name="X-Frame-Options" value="SAMEORIGIN" /> ,pLesbI
</customHeaders> 4?%0z) g
</httpProtocol> $<ZX};/D
_I$]L8hC
... l@j!j]nE
</system.webServer> .S?,%4v%%
复制代码 W]M[5p]*
<n6/np!
Qz$.t>@V=
配置 TOMCAT niA{L:4
“点击劫持:X-Frame-Options未配置” |=h>3Z=r!
pbgCcO~xm
因为项目使用的是tomcat服务器,我们不可能在每个页面去添加: ~&yaIuW<
@NyCMe;]
wwpvmb
#D>8\#53V/
response.addHeader("x-frame-options","SAMEORIGIN"); F`38sq
Ql\GL"
sX**'cH
YE^|G,]
GQ[\R&]q<
因此我们使用过滤器,代码如下: a]ftE\99
t=yM}#r$
|~Z+Xla
g!K(xhEO
HttpServletResponse response = (HttpServletResponse) sResponse; +1cK (Si
response.addHeader("x-frame-options","SAMEORIGIN");