程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET驗證碼及圖形編程技術詳解

ASP.NET驗證碼及圖形編程技術詳解

編輯:關於ASP.NET

驗證碼原理

在現在的軟件運行環境下,安全成為大部分軟件必須考慮的問題,黑客無處不在,攻擊方式日益豐富,尤其是WEB系統由於其開放性更是遇到嚴峻的考驗,黑客事件層出不窮,造成的損失和影響也不斷變大,對此我們軟件開發人員需要對此有相當的認識並采取措施抵御各種黑客攻擊。

枚舉字典安全攻擊

在各種黑客攻擊中,很常見的就是套取用戶名和密碼,其中很多是采用枚舉字典的方式來不斷的測試用戶名和密碼。

比如某黑客獲得一銀行賬號,然後打開賬號的開戶銀行的網上銀行登錄界面。分析其中的HTML代碼,發現其頁面粗制濫造,沒有驗證碼,沒有任何安全控制,只要求輸入銀行賬號和取款密碼就可以登錄。黑客心中大喜,馬上寫了一個程序,直接調用HTTP協議,使用程序來模擬浏覽器向網上銀行服務器提交賬號和密碼嘗試登錄。由於取款密碼是6位阿拉伯數字,因此也就有一百萬種組合,黑客的電腦從六個零開始測試一直到六個九,這一定會測試出真正的密碼。黑客找到一台寬帶高速上網的電腦,運行套取取款密碼程序後就忙其他事了,假設這台電腦1秒能測試10個密碼,於是花費10萬秒的時間肯定能找到密碼。10萬秒也就是27小時,一天多點的時間,實際上很可能用不了那麼長的時間。黑客外頭轉了一圈回來,發現密碼已經找到了,於是馬上登錄網上銀行撈錢,或者偽造一個銀行卡去ATM機上提取現金。也就是說黑客最多花了一天時間即可獲得數目不可預知的非法收入。

驗證碼防御

網上銀行可以有很多手段來抵御黑客攻擊,比如使用ActiveX控件代替標准的文本框來輸入賬號和密碼,可以使用USB接口的密碼盤來進行數據加密和檢測,或者使用一個客戶端程序代替浏覽器來登錄網上銀行。但這些是客戶端技術,千千萬萬的黑客可以操著各種手術刀來解剖這些技術,從根本上說客戶端技術是不可靠的。

相對而言采用服務器端技術就比較安全了。比如發現密碼連續錯誤3次即鎖定賬戶,1天後才能登錄;也可以使用驗證碼技術來很大程度的抵御枚舉字典套取密碼的攻擊。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved