數字型別的不正確轉換漏洞
本期主題為數字型別的不正確轉換導致漏洞的相關介紹。
一、什麼是數字型別的不正確轉換?
從一種資料型別轉換為另一種資料型別(例如從long到int )時,會忽略部分資料,造成精度損失,甚至產生不可預期的數值。如果在敏感的上下文中使用結果值,則可能會發生危險行為。
二、數字型別的不正確轉換構成條件有哪些?
滿足以下條件,就構成了一個該型別的安全漏洞:
將一個數值從一種型別強制轉換為另一種型別,而又超出了目標型別的表示範圍,結果就會截斷成一個完全不同的值。
三、數字型別的不正確轉換會造成哪些後果?
該程式可能會使用錯誤的數字結束並生成錯誤的結果。如果該數字用於分配資源或做出安全決策,則可能會引入漏洞。
四、數字型別的不正確轉換的防範和修補方法有哪些?
1.避免在數字型別之間進行轉換;
2.始終檢查允許的範圍。
五、數字型別的不正確轉換漏洞樣例:
用 上述程式程式碼,則可以發現程式碼中存在著“數字型別的不正確轉換” 導致的程式碼缺陷,如下圖:
數字型別的不正確轉換在CWE中被編號為CWE-681:Incorrect Conversion between Numeric Types
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2790762/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式碼安全測試第二十四期:數字型別的不正確轉換漏洞型別
- Java下數字型別的轉換 (轉)Java型別
- java中數字型別轉換Java型別
- 利用符號進行的型別轉換,轉換成數字型別 ~~符號型別
- 字串:怎樣轉換字串為數字型別? (轉)字串型別
- [轉]解決系統CPU個數識別不正確的問題
- 字串:怎樣將數字型別轉換為字串 (轉)字串型別
- JSON.stringify轉換Date不正確的解決方法JSON
- 關於mysql字元和數字型別轉換的問題研究MySql字元型別
- js在Android的WebView中parseInt轉換不正確解決方法JSAndroidWebView
- 數字型別型別
- EF Power Tools引數不正確的解決方法
- CAPL指令碼中常用到的資料型別轉換——數字型別(int/double)和字串型別(char array)指令碼資料型別字串
- char型別的數值轉換型別
- 變數型別轉換變數型別
- lodash裡to系列之將資料轉換成數字型別實現示例詳解型別
- Go 中數字轉換字串的正確姿勢Go字串
- Master Exam中答案不正確的題AST
- 《從零開始學Swift》學習筆記(Day 15)——請注意數字型別之間的轉換Swift筆記型別
- 引用型別變數的強制轉換型別變數
- 年假計算居然不正確
- sfc命令引數 掃描所有保護的系統檔案的完整性,並使用正確的 Microsoft 版本替換 不正確的版本。ROS
- JavaScript 字串轉換數值型別JavaScript字串型別
- Pytorch變數型別轉換PyTorch變數型別
- eclipse中的漢字橫著顯示,或顯示不正確,字型大小顏色設定Eclipse
- 程式中使用繫結變數,執行計劃不正確變數
- 字串、數值 等型別的相互 安全轉換字串型別
- PHP資料型別轉換(字元轉數字,數字轉字元)PHP資料型別字元
- javascript型別系統——Number數字型別JavaScript型別
- MySQL order by 排序結果不正確MySql排序
- Javascript基礎:變數型別轉換JavaScript變數型別
- 【Mysql 學習】數值型別轉換MySql型別
- Python數字型別有哪些Python型別
- JAVA基礎:Java變數型別間的相互轉換(轉)Java變數型別
- Linux中文字型的轉換與內嵌(轉)Linux
- 對於systemverilog靜態變數和動態變數 ,描述不正確的是()。變數
- PHP 型別轉換&&型別強制轉換PHP型別
- AD模數轉換&DA數模轉換