91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php表單安全中Token的實際應用

發布時間:2021-09-03 23:11:56 來源:億速云 閱讀:114 作者:chen 欄目:安全技術

本篇內容介紹了“php表單安全中Token的實際應用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

0x1 抓包分析

 架起代理burpsuit開啟準備大干一場,首先找到了一個表單的提交頁面,表單主要采用Post方法進行提交,隨便填了點數據就提交了。

php表單安全中Token的實際應用

通過burpsuit攔截下來之后看一下各個參數    

php表單安全中Token的實際應用

通過Post提交到一個Task的action,看這么多參數萬一有過濾不嚴格的情況方法說不定能出現一些XSS或者sql注入的漏洞于是就稍微看了一下就發送到了scanner。    

 Proxy放過之后頁面卻出現了異常提示Token驗證不通過。

php表單安全中Token的實際應用

然后認真一看發現除了一些表單提交的參數外還有一個token=20e168c64ce1f1f98f89e4c8ff9e3aba的字段。表單提交之后response數據包當中也有一個新的token":"e40fe4b3afedc40f95903fef92eb79ed,這樣導致這一個請求包只能請求一次,Burpsuit Scanner基于原有請求包的參數測試的掃描模式就基本上沒有什么用了。

php表單安全中Token的實際應用

Token普遍有二個作用:    

1.防止表單重復提交

2.anti csrf攻擊(跨站點請求偽造)

 由于token具有較好的隨機性,不容易被猜測出來具有良好的安全性,于是看一下源碼當中的實現。

0x2 源碼分析 

通過請求的路徑找到對應的php文件,當請求這個表單的時候會自動執行$label->token()這么一個方法

php表單安全中Token的實際應用

查看label.php的源碼,token這個方法構造hidden表單定義了一個token的變量后賦值Core\Func\CoreFunc::$token

php表單安全中Token的實際應用

繼續再查看CoreFunc的源碼,包含了對token生成的過程

 調用microtime生成毫秒數之后打散成數組增加隨機性,通過substr提取數字與隨機數相乘之后計算md5保證了token的不可預測性。

Token的隨機性取決于當前時間、rand隨機、md5散列算法

php表單安全中Token的實際應用

將生成的token存如session服務器會話當中

php表單安全中Token的實際應用

 提交的表單主要由task.php處理task類當中只是讀取了session中userid的字段,使用父類Content的 parent::action($jump, $commit)方法進行驗證通過之后再處理表單數據。    

php表單安全中Token的實際應用

一層又一層,感覺真復雜。Content類繼承了Controller中的checkToken()檢查

Token無論驗證是否通過都會刪除當前token的值保證了不會被重用

php表單安全中Token的實際應用

0x3 總結

session應用相對安全但也繁瑣,同時當多頁面多請求時必須采用多Token同時生成的方法,這樣占用更多資源,執行效率會降低。但是對安全性的提升是明顯的,對于表單的重復提交、基于單個數據包的變形掃描、解決CSRF漏洞也不是一種不錯的方式。

“php表單安全中Token的實際應用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

乌拉特中旗| 桃园县| 达州市| 七台河市| 开封市| 阳东县| 九台市| 都兰县| 桓台县| 黑山县| 佛冈县| 高雄市| 衢州市| 温泉县| 连江县| 景泰县| 邻水| 广西| 呼和浩特市| 长寿区| 聂拉木县| 会宁县| 天台县| 云霄县| 旬邑县| 嘉黎县| 谢通门县| 威宁| 绥江县| 青川县| 郴州市| 乐业县| 宜都市| 乡宁县| 高青县| 扎兰屯市| 卓资县| 安宁市| 台前县| 秦皇岛市| 长阳|