詳細(xì)描述
點(diǎn)擊劫持(ClickJacking)是一種視覺上的欺騙手段。攻擊者使用一個(gè)透明的、不可見的iframe,覆蓋在一個(gè)網(wǎng)頁上,然后誘使用戶在該網(wǎng)頁上進(jìn)行操作,此時(shí)用戶將在不知情的情況下點(diǎn)擊透明的iframe頁面。通過調(diào)整iframe頁面的位置,可以誘使用戶恰好點(diǎn)擊在iframe頁面的一些功能性按鈕上。
HTTP 響應(yīng)頭信息中的X-Frame-Options,可以指示瀏覽器是否應(yīng)該加載一個(gè) iframe 中的頁面。如果服務(wù)器響應(yīng)頭信息中沒有X-Frame-Options,則該網(wǎng)站存在ClickJacking攻擊風(fēng)險(xiǎn)。網(wǎng)站可以通過設(shè)置 X-Frame-Options 阻止站點(diǎn)內(nèi)的頁面被其他頁面嵌入從而防止點(diǎn)擊劫持。
修改web服務(wù)器配置,添加X-Frame-Options響應(yīng)頭。賦值有如下三種:
1、DENY:不能被嵌入到任何iframe或者frame中。
2、SAMEORIGIN:頁面只能被本站頁面嵌入到iframe或者frame中。
3、ALLOW-FROM uri:只能被嵌入到指定域名的框架中。
在tomcat下的conf里的web.xml中增加以下過濾器
<filter>
<filter-name>httpHeaderSecurity</filter-name>
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
<init-param>
<param-name>antiClickJackingEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>antiClickJackingOption</param-name>
<param-value>SAMEORIGIN</param-value>
</init-param>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
<filter-name>httpHeaderSecurity</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
apache可配置http.conf如下:
<IfModule headers_module>
Header always append X-Frame-Options "DENY"
</IfModule>