用不安全的授權建立臨時檔案漏洞
本期主題為用不安全的授權建立臨時檔案漏洞的相關介紹。
一、什麼是用不安全的授權建立臨時檔案?
在沒有適當措施或控制的情況下開啟臨時檔案可能會使檔案、其內容和任何受它影響的函式容易受到攻擊。
二、用不安全的授權建立臨時檔案漏洞構成條件有哪些?
滿足以下條件,就構成了一個該型別的安全漏洞:
1、使用建立臨時檔案的方法建立了一個可供所有使用者讀寫的臨時檔案;
2、臨時檔案沒有設定讀、寫、執行許可權。
三、用不安全的授權建立臨時檔案漏洞會造成哪些後果?
關鍵詞:讀取應用程式資料;其他;
1、如果攻擊者可以讀取臨時檔案,則該檔案中可能包含敏感資訊,這些資訊可能會被洩露;
2、如果攻擊者可以寫入該檔案,則該檔案可能會移動到攻擊者無法訪問的位置。這將使攻擊者可以獲得選擇性的資源訪問控制特權;
3、根據臨時檔案中儲存的資料,攻擊者可能會獲得一個被信任為非惡意的額外輸入向量。可以對資料結構、使用者資訊甚至程式所有權進行任意更改。
四、用不安全的授權建立臨時檔案漏洞的防範和修補方法有哪些?
1、建立檔案後設定適當的檔案許可權,使用安全的臨時檔案。臨時檔案應該只能由擁有者程式寫入和讀取;
2、隨機化臨時檔名。這也可以透過使用安全的臨時檔案函式來實現,這將確保不會在可預測的位置建立臨時檔案。
五、用不安全的授權建立臨時檔案漏洞樣例:
用 悟空靜態程式碼檢測工具檢測上述程式程式碼,則可以發現程式碼中存在著“用不安全的授權建立臨時檔案” 導致的程式碼缺陷,如下圖:
Java程式碼中使用的createTempFile()方法建立了一個所有使用者都可讀和可寫的臨時檔案,這種方法會將檔案放在預設目錄中。在UNIX系統上,預設目錄通常是"/tmp"或"/var/tmp",在Windows系統上,預設目錄通常是"C:\\Windows\\Temp",攻擊者可能很容易訪問此檔案,從而可以讀取臨時檔案中包含的潛在敏感資訊或修改檔案的內容。
用不安全的授權建立臨時檔案在CWE中被編號為CWE-378: Creation of Temporary File With Insecure Permissions
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2791756/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式碼安全測試第十九期:用不安全的授權建立臨時檔案漏洞
- My SQL不安全臨時檔案建立漏洞(轉)SQL
- pycharm建立臨時檔案scatch filePyCharm
- 檔案-臨時檔案
- 臨時檔案
- 最簡單的授權檔案
- 圖片等檔案上傳到阿里雲的STS臨時授權訪問的配置詳解阿里
- spark未授權RCE漏洞Spark
- websocket 建立連線時如何進行授權?Web
- 臨時資料檔案
- Java安全漏洞:Druid未授權訪問解決JavaUI
- [web安全] 檔案包含漏洞Web
- mongodb未授權訪問漏洞MongoDB
- Redis未授權漏洞復現Redis
- [20190410]dg建立臨時表檔案資料檔案.txt
- Oracle資料檔案和臨時檔案的管理Oracle
- 使用不安全的隨機值漏洞隨機
- 【漏洞復現】Redis未授權訪問漏洞Redis
- Java如何建立臨時檔案並列印File各種屬性Java
- MYSQL 5.7中臨時檔案的使用MySql
- 臨時檔案的順序和絕對檔案號
- Web安全-檔案上傳漏洞Web
- WEB安全:檔案上傳漏洞Web
- [BUG反饋]分類授權漏洞
- Redis 未授權訪問漏洞利用Redis
- 妙用 Intellij IDEA 建立臨時檔案,Git 跟蹤不到的那種IntelliJIdeaGit
- shell給授權檔案新增私鑰並修改訪問修改時間
- DATABASE VAULT授權的安全隱患Database
- Oracle建立表空間、建立使用者、授權、授權物件的訪問以及檢視許可權集合Oracle物件
- Yoink for Mac(臨時檔案拖放助手)Mac
- dataguard新增臨時資料檔案的bug
- 釋放檔案到臨時資料夾中所引發的安全問題
- Bash 指令碼如何建立臨時檔案:mktemp 命令和 trap 命令教程指令碼
- .NET配置檔案的10大安全漏洞
- mysql 建立臨時表MySql
- SQL建立臨時表SQL
- 用於安全授權的DevSecOpsdev
- Istio安全-授權(實操三)