2006年5月12日 星期五

關於圖片認證碼

這個東西只是突然想到試試看而已,根據法律規定,利用漏洞干擾、破壞、竊取主機或資料是違法的。

前天收到五封來自某大學的學分班EDM,裡面的表單很先進的引進了圖片認證碼的機制,我想這是怕被灌爆吧(同時確認這個郵件是有效的),我發現這張認證的圖片是由兩個get的參數來控制的,於是我想如果我一直送出同樣的get那麼是否就能控制產生的圖片,進而進行自動化的步驟(就是灌爆它啦),推論上是可行的,於是我找了有類似機制的無名來嘗試這個想法,無名的圖片是張靜態檔案,檔名應該是圖片內容的數字加上某些字串後做md5雜湊後的結果,另外在表單中還有一個hidden紀錄著與圖片檔名一樣的hash值,於是我大膽的假設,無名為了避免使用session會佔用資源以及過期的問題所以將圖片驗證碼的答案藏在表單中,在送出的時候比對使用者輸入的驗證碼hash的結果與hidden欄位紀錄的是否相符,如果真的是這樣,那麼我只要做一個網頁,然後找一張圖,再用肉眼識別裡面的文字後將文字寫在表單中,然後紀錄圖片的檔名,然後把這些資訊新增到我的網頁中,這樣我就可以不需要透過驗證碼對無名送出迴響了,於是,我向風痕影說明這件事,他也很阿沙力的新增一個主題讓我測試,測試的結果如下.....


亂碼是因為我沒有設定好網頁的編碼所導致的。