Network 24 Aug 2007 10:51 pm

推到 Twitter!
推到 Plurk!


淺入淺出 iframe (2)



再來一下上一篇用到的 iframe 圖吧。

iframe01

我們可以很清楚的看到,如果不加預設參數,就是這樣的大小。等等?可以改變大小?

是的。如果你要讓它放很大或放很小,只要去改 <iframe width=”123″ hight=”456 src=”123.htm”></iframe> 裡面的寬高就行了。愛動壞心眼的人,一定會想到這樣可以怎樣惡搞?我把寬高,都改成 0 不就誰都看不見了嗎?

是的,所以常見用 iframe 插木馬或病毒法都是使用這一招。具體手法就是打下某熱門網站把修改它們的正常網頁,然後偷加一條寬高為 0 的 iframe 語法去呼叫有問題的網頁進來。好躲嗎?不好躲。因為現在瀏覽器可以不執行 javascript,可是通常都會執行頁框。所以很多人就換 iframe 插。除非你的 browser 又掛了可以阻攔頁框的 plugin ….否則 …

具體範例:上次 無名小站被 Avast 警示「HTML:Iframe Exploit事件。

為什麼會被防毒軟體抓呢?因為這就是著名的 iframe 攻擊手法。把寬高都設為 “0″ 或都設為 “1″ 隱藏起來。無名小站的設計恰好就是,如果你能執行 javascript,他就呼叫某某網頁。如果你不執行 javascript 呢?沒關係,我再開 iframe 對付你。所以被防毒軟體判斷為惡意是很正常的。

那某些人可能又會想到啦,如果 0,0 和 1,1 都會被逮。那我改成 0,123 或者是 1,321 呢?好方法,這樣就抓不到 XD。大陸現在很多變形手法就是這樣玩的,讓防毒軟體根本就無法靠死規則來逮你。(from HIT2007 Birdman’s speech)

不過,是只要能解析 iframe 語法的瀏覽器就會中獎嗎?這也不見得。因為木馬和病毒要能打的進來,還是要靠你的幫忙。

(1) 你的 OS 沒有及時修補。
(2) 你的瀏覽器存在漏洞沒有及時修補。
(3) 你連防毒軟體都沒裝。

(2) 問題比較不大。為什麼呢?因為某些不是 IE 的瀏覽器都有自動修補行為。而微軟系的,規定你要是正版的 OS 才給你補 …XD
不過最可怕的還是 (3),筆者還曾經遇過洋洋得意的使用者,向我炫耀他從不灌防毒軟體,卻從沒中過毒。我打開它的工作管理員一看後…..心中默默下了一個決定:「還是不要摧毀他美麗的幻想好了」,免得他拉不下臉來,又找我理論一番。

很多人都有個錯誤的觀念,我的電腦沒變慢,就是我沒中毒。大錯特錯,到了變慢,那已經是你病入膏肓的時候了,通常解藥只有;「東西備一備,砍掉重練」。更何況這世上,存在的並不只有病毒,還有木馬、蠕蟲等等,它們是不會要你命的,因為它們作的是安靜的蟄伏,往外送你的資料密碼。你覺得沒有中毒,是因為你根本不知道你現在執行的 process 到底是些什麼東西,更何況有些人還不知道,process 是可以隱藏的 XD。 for your own good , install antivirus software!

盜帳號?

接下來,我要講的是盜帳號問題。國內兩三年前,曾有一波嚴重的災情,便是遊戲帳號被盜。

從哪盜的呢?官網與假官網。
盜什麼?盜 Cookie。

我在前面說過了,iframe 可以變得很小,所以具體手法有兩種,一種是打下官網改網頁偷 cookie。一種就是自己作個假官網,include 真官網,騙帳號密碼。都是用 iframe 實現。這就是為什麼 iframe 跟盜帳號密碼扯上關係的原因。

第二種比較難防,因為防禦取決於使用者智商。

第一種,就比較歸咎於網站設計者的責任。所謂的 Cookie,會涵蓋你一些登入的資訊,讓你通行網站的各個地方,而不需要經過一次又一次的驗證。但是呢?缺乏心眼的設計者,可能就會忘記去檢查有 cookie 的人,是不是跟剛剛的同一人。

會被盜用帳號的原因通常是網站缺乏以下防禦:

(1) cookie 沒有過期時間

(2) cookie 沒有鎖定使用來源

(3) cookie 隱藏某些使用資訊。或者是網站密碼與遊戲密碼相同。

所以你看到目前遊戲網站做的機制,都是在防堵這類情形的再度發生。花時間偷聽和用 keylogger 盜帳號實在太麻煩,打網站幹 db 或幹 cookie 冒充使用者既快速又方便,何樂而不為呢?


結論,這是 iframe 的錯嗎?當然不是。只是 iframe 的特性能讓這些攻擊手法達到目的。所以你要作的 secure 你本身,而不是去責怪 iframe 如何又如何。


補充:
剛剛寫完,看到 gslin 大神最近寫了一篇「CSS攻擊法」,裡面寫到如何用 CSS 配上 iframe 讓使用者誤擊某些不安全的操作。

Creative Commons License

32 Responses to “淺入淺出 iframe (2)”


  1. on 24 Aug 2007 at 11:36 pm 1.優格網 - 永遠的真田幸村 - Blog, review, news, life, and more said …

    iFrame在線上遊戲官方網站惡意濫用的過往…

    本文是閱讀了XDite有關iframe的文章後,為文補充駭客利用iframe語法,在台灣大大小小遊戲網站盜取遊戲玩家帳號密碼的一些過往。和推推王最近引起的iframe爭議較無關係,個人不太認同funp網站…

  2. on 25 Aug 2007 at 12:17 am 2.alexzgz said …

    最安全的辦法是:
    1. 不要買電腦
    2. 萬一買了電腦,不要開機

  3. on 25 Aug 2007 at 12:45 am 3.carloschen said …

    to alexzgz
    其實還沒那麼嚴重,
    可以買電腦,可以開機,但是不要插網路線…

  4. on 25 Aug 2007 at 2:42 am 4.蛋治 said …

    對, iframe像刀嘛, 用來切水果還是切人(?!)是取決於使用者的.
    不過就算是切水果, 被別人強行切了我的水果, 我還是會不高興的. (人家的水果是用來放好看的…)

  5. on 25 Aug 2007 at 4:52 am 5.LVCHEN said …

    >>>曾經遇過洋洋得意的使用者,向我炫耀他從不灌防毒軟體,卻從沒中過毒

    我也遇過洋洋得意的使用者,說防毒軟體耗資源太兇,所以她從不灌防毒軟體,以她的使用習慣絕對不會中毒…最後還跟我說甚至有時還會”貼心”的跳出一些小視窗,介紹她好康的網站…@@

  6. on 25 Aug 2007 at 8:37 am 6.Gomain.net said …

    除了打補丁,沒有任何更好的方法。
    防毒軟件不是也要經常打補丁麼。

  7. on 25 Aug 2007 at 11:40 am 7.[...] said …

    用 firefox 的在 userContent.css 裡填:

    iframe[width="1"], iframe[width="0"], iframe[height="1"], iframe[height="0"] {
    display: none !important;
    }

    就解決了。

  8. on 25 Aug 2007 at 11:48 am 8.[...] said …

    對不起,補充一下,這種方法防範的能力還是有限。

  9. on 25 Aug 2007 at 11:15 pm 9.Sagitta said …

    之前問的沒有答案,只好再重申一次!
    六、七年前,我開始學會HTML之後就用過iFrame,用來榨取當時小小的免費空間,但目前實在覺得推推王有問題存在,如我今天用推推王開ETTODAY的新聞網址,但結果是:

    1. ETTODAY 新聞網頁 Page Info 顯示的URL是推推王的;
    2. 我用GOOGLE NOTEBOOK紀錄下新聞內容,URL也是推推王的;

    這問題要如何解決呢?剛剛又用了「FunP 快看- 博客來創辦人張天立遭「富爸爸」掃…」來試試,確實BOOKMARK或GOOGLE NOTEBOOK起來的URL都是推推王的!

    難道您希望日後自己的或眾網友的文章被書籤、被存檔後,所記錄的來源出處卻是推推王的?

  10. on 26 Aug 2007 at 3:03 am 10.nobody said …

    iframe沒有錯
    好的東西用對的方法去用
    可以成就一些好的事
    但是好的東西用壞的方法去用
    也會做出很多可怕的事…

    題外話…
    我雖然知道funP不過幾乎沒在玩
    從最近兩篇文章知道funP這個功能以後
    去試用了一下
    在不知道什麼詳細功能的情況下
    我會很自然的省略上方的功能bar
    然後加入書籤也很自然就是funP網站了……
    撇開法律層面不講
    我不認為這是會令人舒服的功能
    尤其如果我是原作者……
    我實在不覺得這是iframe好的使用方法
    很久不見的反frame語法教學, 也許又會開始流行了…??

  11. on 26 Aug 2007 at 3:10 am 11.路人A said …

    to 9 樓 Sagitta.

    你如果用過書籤網站, 你在瀏覽頁看網頁, 會先連到一頁中間頁. for example: http://www.hemidemi.com/bookmark/info/691451
    你怎樣 bookmark 不也是留在那一頁 不是嗎 ?

  12. on 26 Aug 2007 at 8:20 am 12.Sagitta said …

    但是hemediemi和我常用的GOOGLE READER一樣,都只是秀摘要啊!我必須點標題才能去看全文,也就導引到原始網址了!當然也有私人部落格不給摘要甚至當全文當摘要故秀全文的,但大部分的新聞網站都只給摘要,甚至只給標題。

    相對來看,從推推王入口一點進去就是全文,但這全文還是附在推推王網址底下的!這和我用過的所有書籤網站都不一樣~從DE.LE.CI.OUS到DIGG,都沒人這麼玩的……

    還是老話:這如何解決?

  13. on 26 Aug 2007 at 10:00 am 13.Mr. Friday said …

    To Sagitta,

    如果你有funp帳號, 記得是可以進去設定自己的blog不要用iframe的….

  14. on 26 Aug 2007 at 10:16 am 14.Sagitta said …

    我在FunP和Hemedimi都沒有帳號,因為對我好用的是RSS Reader,而不是共享書籤網站,只是閒閒無聊會上書籤網站看看有啥特別的熱門網頁。

    回到主題,
    1. 為啥我要擁有FunP帳號,好去設定自己的BLOG要不要給FunP用?

    2. Google上次被歐媒控告不就是因為機器自己去抓圖文引用在Google News裡頭?但我記得Google僅只是用摘要就被告了,其實只是扮演Reader的腳色而已,只是錯在它不是用RSS模式。

    3. 我不管FunP如何用iFrame,但URL這問題解決不了,法律問題和網友觀感就絕對解決不了!

    4. 大部分的RSS READER網站或軟體也不會有問題,因為RSS資訊本來就看網站站主願意分享的尺度來決定要否給摘要或全文。

    回到老話:不希望有人以後BOOKMARK或另存網頁後,原始網站卻都是推推王的,請推推王解決吧!iFrame就我看還不是大問題。

  15. on 26 Aug 2007 at 11:20 am 15.Bcooker said …

    我覺得 14 樓蠻奇怪的。

    為什麼要到各大 blog 問這個問題,而不是去推推王問。然後路過的人回你答案後,你又繼續重複你的問題。

    然後看起來也不是真的要問問題,而是要強調「funp 不解決這個問題就會引起使用者不滿、就會被告」。我想你會不會直接上法院告一下 funp ,嘗試建立判例會比較快?

    還有我想你也有眼睛吧,不管是 google 或是有人家都有寫出處了還附連結了,要存書籤根本不存在這種困擾吧。有誰會真的存 funp 的網頁?會存 google 倒是真的,因為有時候 google 頁庫存檔開起來倒比網站本身自己的快,如果網站本身砍掉,也至少還有底。

  16. on 26 Aug 2007 at 1:33 pm 16.Sagitta said …

    原來我被追蹤了~ U_U

    我只在兩個地方談過這個問題,一是這個部落格,二是獨孤木先生的:

    第一,是因為這個部落格在談iFrame,但我認為問題不再iFrame,所以我在談iFrame的這兩篇都提到相同的問題;

    第二,獨孤老大在CNET的文章只要有刊我就看,所以我這個老讀者想跟他老大交流。

    就這樣兩個部落格而已,那為啥我不去推推王?因為我認為網友觀點最重要,因為我認為推推王有恃無恐是因還有網友認為這樣沒問題,若言論一面倒,推推王還有可能繼續這樣的問題嗎?

    您可以直接隨便連上某一篇試試,或者就直接用這篇文章試試看,看看BOOKMARK下來的URL是啥,就知道我為何一再提這問題,但~只有針對三篇回應,在兩個網站……當然我會惠整一下在我的部落格~那就第四次吧~

  17. on 26 Aug 2007 at 9:49 pm 17.ChaiLiWon said …

    回應 7 樓:

    這樣只是「不顯示」iframe 的內容,
    iframe 的內容一樣會被執行。

  18. on 26 Aug 2007 at 11:14 pm 18.黃艾倫 said …

    在網頁上加上這段, 應該可以防止被iFrame, 不過是不是適用於所有BLOG就不敢確定了…

  19. on 26 Aug 2007 at 11:19 pm 19.黃艾倫 said …

    ouch..javascript原始碼被擋住了..
    不過發現一個問題, 當我要防止我的BLOG被iFrame時, 在FunP會出現一段文字 “請注意, 您所提供的網址將會轉址離開funP, 這可能有危險, 請確認後繼續…”

    請看範例
    http://funp.com/blogs/info.php?blog_id=1382

    SCRIPT LANGUAGE=JAVASCRIPT
    if (top.location != self.location)top.location=self.location;
    SCRIPT

  20. on 27 Aug 2007 at 1:51 pm 20.Roy said …

    >>19
    和專收垃圾      信的Hotmail一樣咧 XD

  21. on 27 Aug 2007 at 8:11 pm 21.Sagitta said …

    1. 點擊 黃先生 19th 回應害我的 Firefox 亂掉,因為我預設攔阻POP-UP.

    2. 但是為何我要為FunP去修改我的JAVASCRIPT…….,而不是FunP修改他們的程式……

  22. on 30 Aug 2007 at 11:46 am 22.federon said …

    16F老兄,
    請仔細看看 iframe(1) 的 66F 67F 69F 70F 83F 84F http://0rz.tw/2731q 好不好?

    一直在吵炒不是問題的問題,煩死了。

  23. on 31 Aug 2007 at 11:06 am 23.阿土伯 said …

    To federon:
    我想你也誤會了 Sagitta 的意思..
    我以今天 funP 的一則為例, 您可以照著做看看:
    “全球首家“全自動餐廳”在德國開張了” (http://funp.com/t20261) 使用者點回去閱讀, 並覺得很讚,
    於是該使用者把它加入 bookmark (這裡的 bookmark 指的是 browser 本身的 bookmark 功能, IE 稱為我的最愛, 接下來都以我的最愛來舉例).
    這時, 在 我的最愛 中的標題是 “全球首家“全自動餐廳”在德國開張了” , 使用者以為下次只要點 我的最愛 中的這篇能再次看到精彩的文章.
    然而其實加入 我的最愛 的使用者其實不知他收入的是這樣的網址 “http://funp.com/push/comment/?pid=20261#p=20261″,
    所以他看到的是又回到了 funP 的文章收入摘要, 他必需再點一次 “標題” , 並又以 “funP 快看” 來看到這篇他原先想加入 我的最愛 的文章…

    這是造成困擾的問題所在, funP 快看我很喜歡, 我老婆她就常常覺得在她的 IE 我的最愛的書籤怎麼點都連回 funP 很怪.

  24. on 31 Aug 2007 at 11:30 am 24.federon said …

    如果大家都對funP快看上面秀的那一行「原始網址」四個字都視而不見的話,乾脆叫推推王加一個「加到IE我的最愛或Firefox書籤」的按鈕算了。

  25. on 31 Aug 2007 at 11:36 am 25.阿土伯 said …

    這樣的態度就不是一個經營者的態度, 我想 funP 團隊也不會這麼回答.. funP 的流量及訴求的對象決對不是 “專業人員” , 而是普羅大眾 能人人上手.

    除了部份人對iframe有誤解而造成過度的擔心外, 因為 RSS Reader /
    其它社群書籤 都是直接導回原作者網站, 這是大家在討論及造成困擾的
    問題所在.
    funP 快看我很喜歡, 我老婆她就常常覺得在她的 IE 我的最愛的書籤怎
    麼點都連回 funP 很怪.

    以一個不是資訊專長的電腦白痴我老婆為例, funP 和 Hemi 是我介紹給
    她的.. 對她來說 她每天上網習慣就是 tw.yahoo.com 看看新聞及有趣的
    資訊, 然而點到 funP 美食及 Hemi 美食, 看看哪裡有好吃好玩的(好叫
    我假日帶她去), 然後, 在 yahoo / funp / hemi 看到好玩的就加入 “IE
    我的最愛” , 所以, 困擾就發生在此. 我也唸過她好幾次. 對她來說就覺
    得不可思議.

    我可以說, 但別人別說我老婆白痴或不長眼, 沒看清楚有條 funP 看快在上面還加入 “IE 我的最愛”.. 我會扁人地. :D

  26. on 31 Aug 2007 at 11:58 am 26.federon said …

    阿土伯:我向你道歉。

  27. on 31 Aug 2007 at 1:34 pm 27.阿土伯 said …

    To federon:
    您太客氣了~ 不用道歉呀~~
    我是很喜歡, 我還為 funP 寫了 “愛放屁” ,
    只是隨著 funP 的普及以及熱門, “funP 快看” 將是一個雙面刃, 應更理性及平和的撫平反對著的聲音, 我看上面部份人的回應, 反而 “愛之以害之” 了.

  28. on 31 Aug 2007 at 1:50 pm 28.Test said …

    -> (3) 你連防毒軟體都沒裝。
    -> for your own good , install antivirus software!

    請教一下

    Google軟體集裡的這兩個東西可靠嗎 @.@
    Spyware Doctor™入門版 -> 這個好像有提供即時防護, 又好像沒有 @.@
    Norton Security Scan -> 這個只有提供手動掃描

    還有啊

    已經中毒的系統, 再安裝防毒軟體, 是不是有裝跟沒裝一樣, 反正都掃不出病毒

    盜版的防毒軟體, 是不是有裝跟沒裝一樣, 反正都掃不出病毒

  29. on 31 Aug 2007 at 3:59 pm 29.FreeXD said …

    Q1:Spyware Doctor™入門版 -> 這個好像有提供即時防護
    A1:好像只有一個即時的防護功能(他的即時防護功能不只一個 要全功能要正式版)

    Q2:Norton Security Scan -> 這個只有提供手動掃描
    A2:這個肯定是不可靠

    Q3:已經中毒的系統, 再安裝防毒軟體, 是不是有裝跟沒裝一樣, 反正都掃不出病毒

    盜版的防毒軟體, 是不是有裝跟沒裝一樣, 反正都掃不出病毒
    A3:這觀念不對,既然中毒了,當然要解毒,有裝有保佑。

  30. on 31 Aug 2007 at 4:31 pm 30.Test said …

    我在想啊 如果我是病毒中的霸主
    我又已經成功入侵一台沒裝防毒軟體的電腦
    那我一定會千方百計地把比我晩進來的防毒軟體搞成殘廢
    我要讓它看起來很正常 實際上卻一點用也沒有
    可是這只是我的想像 不知道實際上是怎樣的 好好奇喔 @.@

  31. on 14 Oct 2008 at 11:02 am 31.keylogger spyware said …

    keylogger spyware…

    Information on this subject is not always as straight forward as it first appears. I know I used to just use a common sense approach, but now I do direct research before coming up with my next move. Keep the information coming….

  32. on 10 Feb 2009 at 2:32 pm 32.Andy Liu said …

    剛好看到:

    中的hight漏了一個字母和引號,height –> height=”456″

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply