一、什么是用不安全的授權(quán)創(chuàng)建臨時(shí)文件?
在沒有適當(dāng)措施或控制的情況下打開臨時(shí)文件可能會使文件、其內(nèi)容和任何受它影響的函數(shù)容易受到攻擊。
二、用不安全的授權(quán)創(chuàng)建臨時(shí)文件漏洞構(gòu)成條件有哪些?
滿足以下條件,就構(gòu)成了一個(gè)該類型的安全漏洞:
1、使用創(chuàng)建臨時(shí)文件的方法創(chuàng)建了一個(gè)可供所有用戶讀寫的臨時(shí)文件;
2、臨時(shí)文件沒有設(shè)置讀、寫、執(zhí)行權(quán)限。
三、用不安全的授權(quán)創(chuàng)建臨時(shí)文件漏洞會造成哪些后果?
關(guān)鍵詞:讀取應(yīng)用程序數(shù)據(jù);其他;
1、如果攻擊者可以讀取臨時(shí)文件,則該文件中可能包含敏感信息,這些信息可能會被泄露;
2、如果攻擊者可以寫入該文件,則該文件可能會移動(dòng)到攻擊者無法訪問的位置。這將使攻擊者可以獲得選擇性的資源訪問控制特權(quán);
3、根據(jù)臨時(shí)文件中存儲的數(shù)據(jù),攻擊者可能會獲得一個(gè)被信任為非惡意的額外輸入向量。可以對數(shù)據(jù)結(jié)構(gòu)、用戶信息甚至進(jìn)程所有權(quán)進(jìn)行任意更改。
四、用不安全的授權(quán)創(chuàng)建臨時(shí)文件漏洞的防范和修補(bǔ)方法有哪些?
1、創(chuàng)建文件后設(shè)置適當(dāng)?shù)奈募䴔?quán)限,使用安全的臨時(shí)文件。臨時(shí)文件應(yīng)該只能由擁有者進(jìn)程寫入和讀取;
2、隨機(jī)化臨時(shí)文件名。這也可以通過使用安全的臨時(shí)文件函數(shù)來實(shí)現(xiàn),這將確保不會在可預(yù)測的位置創(chuàng)建臨時(shí)文件。
五、用不安全的授權(quán)創(chuàng)建臨時(shí)文件漏洞樣例:

用悟空 靜態(tài)代碼檢測工具分析上述程序代碼,則可以發(fā)現(xiàn)代碼中存在著“用不安全的授權(quán)創(chuàng)建臨時(shí)文件” 導(dǎo)致的 代碼缺陷,如下圖:
Java代碼中使用的createTempFile()方法創(chuàng)建了一個(gè)所有用戶都可讀和可寫的臨時(shí)文件,這種方法會將文件放在默認(rèn)目錄中。在UNIX系統(tǒng)上,默認(rèn)目錄通常是"/tmp"或"/var/tmp",在Windows系統(tǒng)上,默認(rèn)目錄通常是"C:\\Windows\\Temp",攻擊者可能很容易訪問此文件,從而可以讀取臨時(shí)文件中包含的潛在敏感信息或修改文件的內(nèi)容。