網頁攻擊的漏洞 - 是程式設計的錯 ? 還是你的錯 ?
其實本來有在掙扎這邊應不應該要發的,不過既然我這麼弱雞的人都知道,應該也不是什麼秘密,所以我們就來看什麼網頁攻擊,其實也不算是攻擊吧,應該只能算是防範不夠嚴謹的程式設計,當然我自己是很弱,我們只是針對議題來討論吧。今天我們要討論的就是 lab3.tw 計數器 以及 部落格觀察 。
圖片 : lab3.tw 是一個不錯的免費記數器,部落格觀察是部落格的指標
小豬沒有任何意義,我只是覺得這張圖片很特別
不過會提這兩個站的原因是因為這兩個都是免費的指標服務,來研究一下也無傷大雅吧,首先我們來看到 lab3.tw 這個站台,當你申請完記數器,你應該會得到一張貼紙,例如。
這張圖片是本站在 2009-3-25 擷取的線上人數記數,不過如果要看後來的歷史資料必須要登入後端的伺服器,在經過使用者帳號密碼的輸入後,可以看到最近 30 天的歷史資料。
不過使用方式中有提到如果要顯示 30 天內的折線圖我們可以直接使用下面語法
1 2 3 | <a href="http://stat.lab3.tw" title="SiteStates"> <img src="http://stat.lab3.tw/?id=您的編號&history" border="0" /> </a> |
但是這時候又來了,既然登入不用登入就可以看折線圖,那又要註冊登入使用者帳號幹嘛勒 ? 哦,好像只剩下可以修改起始瀏覽人數的功能了。不過他這裡的 CODE 有個問題,就是他是需要填入 ID 帳號,可是 ID 卻是註冊的序號,那樣如果寫個簡易的 PHP 程式就可以把所有的圖給叫出來了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文件</title> </head> <body> <?php for($i=1;$i<=100;$i++){ echo "<img src="http://stat.lab3.tw/?id=$i&history" />"; if($i % 2 == 0){ echo "<BR>"; } } ?> </body> </html> |
這隻 PHP 可以把所有的圖片都顯示出來,一張圖片約 3 KB 是不大,不過如果把它 LOAD 玩也有個 20 MB 左右,但是提供這種服務的人應該不太會擔心,不過如果你的部落格是用 WP 而且你的命名方式是 http://yourdomain.com/?p=100 這樣你就要小心囉,很可能你的網站就會被用轟炸的囉。
不過也許你會想說,這樣顯示出來誰會去看,又怎麼會算是攻擊呢 ? 不過如果是使用 AJAX 的技術放在網路上,並且是下載大圖,然後不顯示在頁面,或是使用隱藏的 DIV 來包,那這樣放在流量大的網站,可能瞬間的流量就很可怕喔。
不過這種事情還是樹大招風,不過哪天你做大了,還是用這種序號來做編碼,很可能用個迴圈就讓你的網站掛點囉,那應該怎麼解決呢 ? 其實既然 lab3.tw 在登記計數器有使用使用者帳號註冊,如果把 『 ?id=您的編號 』修改成 『 ?id=您的帳號 』這樣子可以稍微改善一點情況,至少帳號的取得比較困難。或是你還有其他的解決方式,你可以在運算圖片的 PHP 上限制來源的 domain ,並且在讓使用者用 IFRAME 的方式崁入計數器,這樣就可以減少莫名其妙的流量。
不過對於你的部落格,還是趕快修改一下固定網址的格式吧,免得哪天真的暴流量了,不過,如果你的網站已經經營了一陣子,可能就沒辦法再更動了,必須要再想想其他方式,不過基本上有點功力的部落客應該都把圖片作外連的動作了吧。
除了正妹牆,帥哥牆,遊戲牆,我們來看看部落格觀察排名牆吧。
這一張的圖片大小為 4 KB ,如果持續性的索取圖片流量也是很可觀囉。話說在寫這篇文章的時候又發現 部落格觀察 好像又跳了一些錯誤。
似乎是要開啟 HTML 的暫存檔案發生問題,不過沒關係囉,
我們來看看 FUNP 吧,有沒有發現不但要求 ID 還要求 USER 喔,這樣 USER 名單你就沒辦法用迴圈產生了吧,先去找一份 USER 名單吧 !
這樣看起來 " 似乎 " 是比較好的處理方式,但是這樣是不是又洩漏的使用者帳號 ? 或是應該用 ID 在加上一個編碼 ? OK , 似乎越來越深了,不負責講座今天就到這為止吧。
Random Posts
Loading…
目前並無相關文章









不過我自己測試的結果
雖然使用了固定網址
但是 http://blog.corausir.org/?p=870
這種連結還是會在的~
所以還是把圖片外連比較好
您的網站那麼有名
放點廣告來,應該可以賺很多悠~
如果想放,請用我的連結
我才能得到獎厲
BLOGGERADS 我比較不喜歡這個 網址:http://blog.xuite.net/allen365apple/179/18973810
BLOGAD 這我比較喜歡 網址:http://blog.xuite.net/allen365apple/179/22401353
@小柏
暫時沒有經濟壓力 ^^”
所以還沒有廣告的打算~
改天有需要我會參考看看的
這篇寫的不太好
有點言不達意~~@@
網站做來本來就是要給人看
如果怕流量太高那就不要架了
可是流量高又沒人看好像也不是滋味~
主要就是要告訴大家,在建立程式的時候可以的話盡量不要用 ID 序號來排
不過似乎還是序號最方便
如果那藍眼觀察牆可以有名稱更有趣了~~
這樣排成一面牆還挺壯觀滴!!
排一面來玩玩呀!!
用序號最主要是讓效率增加, 畢竟這個用 primary key 是最快的…
嗯,主鍵值用序號不重複又快速。XD
@Arno Ruan
主鍵值的確是比較快沒錯
但是卻很容易被輪X
所以在使用上還是要評估一下 ^^
很晚才發現這篇文章,哈 (搔頭)…
前幾天我改寫了系統架構,現在抓不到大圖了,因為必須登入才能夠看歷史的折線圖 (這兩天下班會寫好)
至於小圖被狂下載的問題,近日內我會找個方法想辦法修正,最下策就是麻煩使用者換網址囉 (不過這樣不是很好啦)… :smile:
@roga
慘了 = =
我還蠻喜歡常常不登入就看折線圖
不能看就…
嗚嗚~~
@Ausir
呵呵,因為新系統想提高黏著度的關係,
不過我之後會設計個簡單的方式不登入就可以看折線圖的 ^_^
備註:現在系統內關於歷史紀錄調閱的 query 都必須配合 session 才能進行(session 紀錄登入之後的 user_id 必須先檢核 user_id 是否擁有該筆 url 才決定不要產生資料出來)
@roga
以後不能偷吃步
跟偷看別人家的資料了 >”<…
以前看到人家掛 lab3 就會想看看流量怎麼樣 ^_^