- 資訊首頁(yè) > 網(wǎng)絡(luò )安全 >
- php表單安全中Token的實(shí)際應用
本篇內容介紹了“php表單安全中Token的實(shí)際應用”的有關(guān)知識,在實(shí)際案例的操作過(guò)程中,不少人都會(huì )遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學(xué)有所成!
架起代理burpsuit開(kāi)啟準備大干一場(chǎng),首先找到了一個(gè)表單的提交頁(yè)面,表單主要采用Post方法進(jìn)行提交,隨便填了點(diǎn)數據就提交了。
通過(guò)burpsuit攔截下來(lái)之后看一下各個(gè)參數
通過(guò)Post提交到一個(gè)Task的action,看這么多參數萬(wàn)一有過(guò)濾不嚴格的情況方法說(shuō)不定能出現一些XSS或者sql注入的漏洞于是就稍微看了一下就發(fā)送到了scanner。
Proxy放過(guò)之后頁(yè)面卻出現了異常提示Token驗證不通過(guò)。
然后認真一看發(fā)現除了一些表單提交的參數外還有一個(gè)token=20e168c64ce1f1f98f89e4c8ff9e3aba的字段。表單提交之后response數據包當中也有一個(gè)新的token":"e40fe4b3afedc40f95903fef92eb79ed,這樣導致這一個(gè)請求包只能請求一次,Burpsuit Scanner基于原有請求包的參數測試的掃描模式就基本上沒(méi)有什么用了。
Token普遍有二個(gè)作用:
1.防止表單重復提交
2.anti csrf攻擊(跨站點(diǎn)請求偽造)
由于token具有較好的隨機性,不容易被猜測出來(lái)具有良好的安全性,于是看一下源碼當中的實(shí)現。
通過(guò)請求的路徑找到對應的php文件,當請求這個(gè)表單的時(shí)候會(huì )自動(dòng)執行$label->token()這么一個(gè)方法
查看label.php的源碼,token這個(gè)方法構造hidden表單定義了一個(gè)token的變量后賦值Core\Func\CoreFunc::$token
繼續再查看CoreFunc的源碼,包含了對token生成的過(guò)程
調用microtime生成毫秒數之后打散成數組增加隨機性,通過(guò)substr提取數字與隨機數相乘之后計算md5保證了token的不可預測性。
Token的隨機性取決于當前時(shí)間、rand隨機、md5散列算法
將生成的token存如session會(huì )話(huà)當中
提交的表單主要由task.php處理task類(lèi)當中只是讀取了session中userid的字段,使用父類(lèi)Content的 parent::action($jump, $commit)方法進(jìn)行驗證通過(guò)之后再處理表單數據。
一層又一層,感覺(jué)真復雜。Content類(lèi)繼承了Controller中的checkToken()檢查
Token無(wú)論驗證是否通過(guò)都會(huì )刪除當前token的值保證了不會(huì )被重用
session應用相對安全但也繁瑣,同時(shí)當多頁(yè)面多請求時(shí)必須采用多Token同時(shí)生成的方法,這樣占用更多資源,執行效率會(huì )降低。但是對安全性的提升是明顯的,對于表單的重復提交、基于單個(gè)數據包的變形掃描、解決CSRF漏洞也不是一種不錯的方式。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站