驗證碼就是每次訪問頁面時隨機生成的,內容一般是數字和字母(更**點的有中文,現在已經公升級到,動畫等驗證碼),需要訪問者把圖中的數字字母填到表單中提交,這樣就有效地防止了暴力破解。驗證碼也用於防止惡意灌水、廣告帖等。
在登陸的地方訪問乙個指令碼檔案,該檔案生成含驗證碼的並將值寫入到session裡,提交的時候驗證登陸的指令碼就會判斷提交的驗證碼是否與session裡的一致。目前常常會出現驗證碼失效或者被繞過的可能,也成為了當前產生web漏洞的乙個問題。
1、登陸頁面是否存在驗證碼,不存在說明存在漏洞,完成檢測
2、驗證碼和使用者名稱、密碼是否一次性、同時提交給伺服器驗證,若分開提交驗證則存在漏洞
3、在伺服器端,是否只有在驗證碼檢驗通過後才進行使用者名稱和密碼的檢驗,如果不是說明存在漏洞。
檢測方法:輸入錯誤的使用者名稱或密碼、錯誤的驗證碼。觀察返回資訊,是否只提示驗證碼錯誤,也就是說當驗證碼錯誤時,禁止再判斷使用者名稱和密碼
4、驗證碼是否為形式且在一張中,不為形式或不在一張中,說明存在漏洞
5、生成的驗證碼是否可以通過html源**檢視到,如果可以說明存在漏洞,完成檢測
6、生成驗證碼的模組是否根據提供的引數生成驗證碼,如果是說明存在漏洞,完成檢測
7、請求10次觀察驗證碼是否隨機生成,如果存在一定的規律(例如5次後出現同一驗證碼)說明存在漏洞,完成檢測
8、觀察驗證碼中背景是否存在無規律的點或線條,如果為純色則存在漏洞,完成檢測
9、驗證碼在認證一次後是否立即失效
1、在登入介面加入健壯的驗證碼校驗機制
2、將生成的驗證碼與使用者會話session資訊進行一一對應
3、在伺服器端判定使用者提交的驗證碼不能為空
4、校驗使用者提交的驗證碼與伺服器上儲存的是否一致
5、無論驗證碼校驗結果是否成功,都必須將伺服器上儲存的驗證碼清空
web生成驗證碼方法
page contenttype image jpeg import page import color getrandcolor int fc,int bc 告知瀏覽當作處理 response.setcontenttype image jpeg 設定頁面不快取 response.setheader...
js實現Web驗證碼
話不多說,直接上 這個js是用來產生驗證碼的 可以直接套用,需要主要的是對應的id名字 隨機產生min到max之間的數 function randomnum min,max 生成隨機顏色rgb分量 function randomcolor min,max function drawpic 畫四條線 ...
驗證碼的功能實現
1.介面採用的js為extjs,在extjs的view中的login資料夾中,有乙個form.js,驗證碼部分的 是 xtype fieldcontainer layout hbox items listeners autoel 2.建立systemusercontroller 在這個control...