您在這裡

一個應該不算漏洞的漏洞 - 忘記密碼功能

yosia's 的頭像
yosia 在 2013-08-01 (四) 12:48 發表

大家好,最近碰到一個case,我覺得這應該不算漏洞,不過提報出來請各位先進指教,

狀況如下:
攻擊者先註冊了一堆使用者帳號,然後透過註冊使用者「忘記密碼」的功能,發送了一堆郵件攻擊Gmail,
不曉得大家有沒有碰過這個狀況,以及好的解法?我目前是先把這些假的帳號刪掉,然後關閉使用者註冊,
只是好奇有沒有辦法說在忘記密碼那個部分,也加上一些驗證程序,例如問題之類的?或者是有其他更好的解法?

我的網站以前也遇到類似的狀況,許多用戶註冊了,卻從來沒有登錄過,我一段時間,會刪除這些假用戶,不過後來假註冊的用戶越來越多,我的資料庫有被擠爆的危險,我才開始尋找解決方式。

我裝了honeypot這個模組,才發現很多註冊的用戶,竟然是機器人搞得,難怪我後來覺得有大軍壓鎮的感覺。honeypot 幫我擋掉了很多機器人註冊, 而我自己又設定了rules + rules schedule, 以便自動刪除honeypot 的漏網之魚,也就是人爲的惡意註冊 (極少數)。

上述這兩個方法雙管齊下,測試了6個月,效果良好。

用這個看看 Hashcash - https://drupal.org/project/hashcash

Description

The Hashcash project is an implementation of a Proof Of Work (POW) or Puzzle scheme where users of a service have to do computational work to have their request granted. In the case of the Drupal Hashcash project, the service is 'form submission' and the Proof Of Work is a token that causes a partial hash collision when concatenated with a given string. This is intended to stop spam submissions to a site.