- C和C++安全編碼(原書第2版)
- (美)Robert C.Seacord
- 307字
- 2020-10-30 17:56:39
2.3 字符串漏洞及其利用
前面一節(jié)描述的是在C或C++中操作字符串常見的錯誤。當代碼對源于外部的不受信任的數(shù)據(jù)(如命令行參數(shù)、環(huán)境變量、控制臺輸入、文本文件和網(wǎng)絡(luò)連接)進行操作時,這些錯誤就會變得很危險。根據(jù)程序的使用和部署情況,外部數(shù)據(jù)可能受信任或不受信任。然而,軟件可以使用的所有方式往往是很難預(yù)測的。通常在部署代碼時,在開發(fā)過程中所作的假設(shè)不再有效。假設(shè)的改變,是一種常見的漏洞來源。因此,將所有外部數(shù)據(jù)都當作不可信的是更安全的做法。
在軟件安全分析領(lǐng)域,一個值稱作被污染的,如果它的來源是不受信任的(程序的控制之外),并且沒有被凈化,以確保它符合該值的使用者要求的任何約束,例如,所有的字符串都要求是空字符結(jié)尾的約束。
推薦閱讀
- PHP 7底層設(shè)計與源碼實現(xiàn)
- Raspberry Pi Networking Cookbook(Second Edition)
- Machine Learning with R Cookbook(Second Edition)
- Java技術(shù)手冊(原書第7版)
- FFmpeg入門詳解:音視頻流媒體播放器原理及應(yīng)用
- Oracle 12c中文版數(shù)據(jù)庫管理、應(yīng)用與開發(fā)實踐教程 (清華電腦學(xué)堂)
- Raspberry Pi for Secret Agents(Third Edition)
- Python進階編程:編寫更高效、優(yōu)雅的Python代碼
- Learning ArcGIS Pro
- Reactive Android Programming
- Learning Data Mining with R
- Android開發(fā)案例教程與項目實戰(zhàn)(在線實驗+在線自測)
- Java SE實踐教程
- Java Web從入門到精通(第3版)
- Instant jQuery Boilerplate for Plugins