自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

安全編程:初始化那些你忽略掉的東西

安全 應(yīng)用安全
他們使用了一種非常先進(jìn)的”更改密碼”的算法,其細(xì)節(jié)并不重要。設(shè)計是只在網(wǎng)絡(luò)上傳輸高度加密的數(shù)據(jù)。這樣,在網(wǎng)絡(luò)上并捕獲數(shù)據(jù)包的黑客就不會看到任何有價值的東西。

對于黑客來說,特權(quán)提升漏洞是令他感到非常興奮的事情,而有時候這種漏洞的來源僅僅是因為開發(fā)者忘記將內(nèi)存緩沖區(qū)中的垃圾數(shù)據(jù)進(jìn)行初始化。此話怎講?

我想,現(xiàn)在每個人都應(yīng)該熟悉 SecureZeroMemory 函數(shù)的使用,它用來擦除包含敏感信息的緩沖區(qū),但是在將緩沖區(qū)的內(nèi)容寫入另一個位置之前,你還必須將其清零。例如,請考慮以下二進(jìn)制格式:

下面是一段想文件中寫入數(shù)據(jù)的例子:

在上面的代碼中,你有沒有看到隱藏在其中的安全問題?

如果輸入的注釋內(nèi)容的長度短于 255 個字符,則在空終止字符之后的字節(jié)由未初始化的堆棧垃圾組成。這段堆棧垃圾數(shù)據(jù)中,可能包含你不打算泄漏到文件中的有趣信息。

當(dāng)然,它不會包含你已經(jīng)識別為高度敏感的信息,例如密碼,但它仍然可能包含雖然不太敏感,但對于尋找它的人來說仍然有價值的信息。

例如,根據(jù)編譯器決定放置局部變量的位置,你可能會將帳戶名泄漏到這些未使用的字節(jié)中。

有人告訴我,一家公司很久以前的網(wǎng)絡(luò)軟件也有一個類似的Bug。

他們使用了一種非常先進(jìn)的”更改密碼”的算法,其細(xì)節(jié)并不重要。設(shè)計是只在網(wǎng)絡(luò)上傳輸高度加密的數(shù)據(jù)。這樣,在網(wǎng)絡(luò)上并捕獲數(shù)據(jù)包的黑客就不會看到任何有價值的東西。

但是他們的客戶端中有一個錯誤:當(dāng)它向服務(wù)器發(fā)送加密密碼時,它忘記了清空”更改密碼”數(shù)據(jù)包中未使用的字節(jié)。在那些未使用的字節(jié)中,你猜對了,是純文本密碼的副本。

總結(jié)

道高一尺魔高一丈,我們必須小心行事。
寫代碼的同時,也將自己帶入到黑客角色問自己:”這段代碼會不會有安全漏洞?”

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2023-11-12 23:08:17

C++初始化

2024-03-13 08:52:43

C++初始化方式

2013-01-18 11:05:25

Win 8操作系統(tǒng)

2011-07-06 14:16:25

Linux服務(wù)器Shell腳本

2011-03-16 10:52:20

2009-06-10 16:17:00

Netbeans JT初始化

2012-03-13 13:38:42

Java

2021-07-07 05:00:17

初始化源碼

2019-11-04 13:50:36

Java數(shù)組編程語言

2009-09-08 09:48:34

LINQ初始化數(shù)組

2009-11-11 15:29:15

ADO初始化

2011-06-17 15:29:44

C#對象初始化器集合初始化器

2020-10-12 09:49:14

C++ 開發(fā)代碼

2021-03-12 10:30:11

SpringMVC流程初始化

2010-07-28 10:22:33

FlexApplica

2022-07-06 10:37:45

SpringServlet初始化

2020-12-03 09:50:52

容器IoC流程

2012-05-23 12:46:53

JavaJava類

2010-09-08 14:49:09

藍(lán)牙協(xié)議棧

2020-11-23 14:22:17

代碼Go存儲
點贊
收藏

51CTO技術(shù)棧公眾號