曲速未來 消息:etherscan點擊劫持漏洞分析區塊鏈
在前幾天,DVP平臺收到了一個著名區塊鏈(Etherscan)瀏覽的漏洞,可以導致用戶將惡意代碼嵌入Etherscan的a標簽中,可導致用戶遭到被惡意釣魚。
在前幾天,DVP平臺收到了一個著名區塊鏈(Etherscan)瀏覽的漏洞,可以導致用戶將惡意代碼嵌入Etherscan的a標簽中,可導致用戶遭到被惡意釣魚,以下是漏洞詳情:
簡要描述:漏洞說明、利用條件、危害等
部署合約代幣時,符合ERC20標準的情況下,symbol和name自定義,可嵌入a標簽覆蓋原本的標簽。
在用戶訪問點擊頁面內的合約名字,可以劫持至任意網站。
需要部署ERC20標準的合約,且在訪問合約頁面之前,發起一次交易。
漏洞證明:
漏洞利用代碼:
點擊劫持漏洞的解決方法:
X-Frame-Options HTTP 響應頭, 可以指示瀏覽器是否應該加載一個 iframe 中的頁面。 網站可以通過設置 X-Frame-Options 阻止站點內的頁面被其他頁面嵌入從而防止點擊劫持
方法一:常見的比如使用js,判斷頂層窗口跳轉:
一般這樣夠用了,但是有一次發現失效了,看了一下人家網站就是頂層窗口中的代碼,發現這段代碼:
輕輕松松被破解了,悲劇。
注:此方式破解對IE6,IE7,IE9 、Chrome、firefox無效
方法二:meta 標簽:基本沒什么效果,所以也放棄了:
方法三:使用HTTP 響應頭信息中的 X-Frame-Options屬性
使用 X-Frame-Options 有三個可選的值:
DENY:瀏覽器拒絕當前頁面加載任何Frame頁面
SAMEORIGIN:frame頁面的地址只能為同源域名下的頁面
ALLOW-FROM:origin為允許frame加載的頁面地址
換一句話說,如果設置為 DENY,不光在別人的網站 frame 嵌入時會無法加載,在同域名頁面中同樣會無法加載。另一方面,如果設置為 SAMEORIGIN,那么頁面就可以在同域名頁面的 frame 中嵌套
絕大部分瀏覽器支持:
配置 Apache
配置 Apache 在所有頁面上發送 X-Frame-Options 響應頭,需要把下面這行添加到 'site' 的配置中:
配置 nginx
配置 nginx 發送 X-Frame-Options 響應頭,把下面這行添加到 'http', 'server' 或者 'location' 的配置中:
配置 IIS
配置 IIS 發送 X-Frame-Options 響應頭,添加下面的配置到 Web.config 文件中:
結果
在Firefox嘗試加載frame的內容時,如果X-Frame-Options響應頭設置為禁止訪問了,那么Firefox會用about:blank展現到frame中。也許從某種方面來講的話,展示為錯誤消息會更好一點。該漏洞已經與Etherscan廠商聯系,目前已修復。
1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。