濮阳杆衣贸易有限公司

主頁 > 知識庫 > 安全校驗(yàn)Session驗(yàn)證碼并避免繞開驗(yàn)證碼攻擊

安全校驗(yàn)Session驗(yàn)證碼并避免繞開驗(yàn)證碼攻擊

熱門標(biāo)簽:嘟聲的電銷機(jī)器人 洛陽便宜外呼系統(tǒng)廠家 忻州外呼系統(tǒng)接口對接 電銷機(jī)器人怎么收費(fèi) 醫(yī)院地圖標(biāo)注 語音平臺系統(tǒng) 地圖標(biāo)注和圖片標(biāo)注 滄州智能外呼系統(tǒng)收費(fèi) 湖北穩(wěn)定外呼系統(tǒng)
已經(jīng)記不得是在哪個(gè)網(wǎng)站上看到的了,一般情況下對于驗(yàn)證碼的校驗(yàn),大家很容易寫成下面這樣:
復(fù)制代碼 代碼如下:

%
If Request.Form("SecurityCode") = Session("SecurityCode") Then
' TODO : Database operations
Else
Response.Write "Security code incorrect!"
End If
%>

驗(yàn)證碼圖片產(chǎn)生Session("SecurityCode")并保存正確的驗(yàn)證碼值,然后獲得用戶提交的驗(yàn)證碼值,然后兩個(gè)一比對如果一樣則表示驗(yàn)證碼正確,否則驗(yàn)證碼錯(cuò)誤。表面上這樣的算法沒有什么問題,但是對于一種特殊情況則會(huì)讓驗(yàn)證碼形同虛設(shè)。
首先我們知道,對于上面的算法有個(gè)核心的地方就是我們要訪問產(chǎn)生驗(yàn)證碼圖片的那個(gè)文件才會(huì)有個(gè)保存驗(yàn)證碼值的Session,然后才能對用戶的輸入進(jìn)行正確的比對,假如有心人構(gòu)造一個(gè)繞開驗(yàn)證碼圖片文件的Form然后進(jìn)行提交會(huì)得到什么呢?Session("SecurityCode")不存在為空,如果此時(shí)用戶驗(yàn)證碼什么都不輸入,這時(shí)驗(yàn)證碼校驗(yàn)就形同虛設(shè)了。好,這里利用漏洞攻擊的關(guān)鍵就是驗(yàn)證碼的Session,我們很容易就能夠讓服務(wù)器不產(chǎn)生這個(gè)Session從而使這樣的攻擊變成可能。
解決的方法也很容易,校驗(yàn)驗(yàn)證碼的Session是否為空或者校驗(yàn)用戶輸入的驗(yàn)證碼是否合法,構(gòu)造安全表單的關(guān)鍵就是永遠(yuǎn)不要相信用戶的輸入。下面采用校驗(yàn)驗(yàn)證碼Session和用戶輸入的雙保險(xiǎn)辦法解決這個(gè)安全問題:
復(fù)制代碼 代碼如下:

' str為要校驗(yàn)的驗(yàn)證碼,len為驗(yàn)證碼長度
Function IsSecurityCodeValid(str, len)
IsSecurityCodeValid = Not CBool( _
IsEmpty(str) Or CStr(str)="" Or Len(str)len)
End Function
If IsSecurityCodeValid(Request.Form("SecurityCode"), 4) AND _
IsSecurityCodeValid(Session("SecurityCode"), 4) AND _
Request.Form("SecurityCode") = Session("SecurityCode") Then
' TODO : Database operations
Else
Response.Write "Security code incorrect!"
End If
您可能感興趣的文章:
  • CI框架常用經(jīng)典操作類總結(jié)(路由,偽靜態(tài),分頁,session,驗(yàn)證碼等)
  • PHP 用session與gd庫實(shí)現(xiàn)簡單驗(yàn)證碼生成與驗(yàn)證的類方法
  • PHP+jQuery 注冊模塊的改進(jìn)(一):驗(yàn)證碼存入SESSION
  • JSP動(dòng)態(tài)生成驗(yàn)證碼存儲在session作用范圍內(nèi)
  • 通過Session案例分析一次性驗(yàn)證碼登錄

標(biāo)簽:宜賓 定州 內(nèi)蒙古 防城港 巴彥淖爾 山南 96 日照

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《安全校驗(yàn)Session驗(yàn)證碼并避免繞開驗(yàn)證碼攻擊》,本文關(guān)鍵詞  安全,校驗(yàn),Session,驗(yàn)證,碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《安全校驗(yàn)Session驗(yàn)證碼并避免繞開驗(yàn)證碼攻擊》相關(guān)的同類信息!
  • 本頁收集關(guān)于安全校驗(yàn)Session驗(yàn)證碼并避免繞開驗(yàn)證碼攻擊的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    阿坝| 拉萨市| 南汇区| 宁化县| 普兰店市| 新化县| 得荣县| 阜康市| 马公市| 黄陵县| 东平县| 三门峡市| 祥云县| 双鸭山市| 林口县| 睢宁县| 玛纳斯县| 湖北省| 石河子市| 浑源县| 全椒县| 突泉县| 资溪县| 平果县| 吉水县| 东光县| 东丰县| 子长县| 靖西县| 贵溪市| 巴马| 双辽市| 林口县| 平阴县| 阳信县| 连山| 丹棱县| 蓬莱市| 巴南区| 日喀则市| 宿迁市|