漏洞簡析——CWE-259:使用硬編碼的密碼漏洞
對於硬編碼密碼,Immunity公司威脅情報負責人曾表示,這項常見的開發者漏洞不僅廣泛存在,而且在短時間內似乎也不太可能被徹底解決。早在2016年Fortinet防火牆發現硬編碼後門,儘管該公司否認硬編碼密碼是後門,稱這個漏洞是一個管理身份認證問題,但還是非常可疑。倘若攻擊者利用此漏洞,可以直接獲取Fortigate最高管理許可權,控制裝置進行如抓取流量監聽、DNS欺騙、建立隧道進入企業內網等攻擊行為。
一、什麼是使用硬編碼的密碼?
軟體包含一個硬編碼的密碼,該密碼用於自己的入站身份驗證或與外部元件的出站通訊。
這種處理方式一方面不易於程式維護,在程式碼投入使用後,除非對軟體進行修補,否則無法修改密碼。另一方面會削弱系統安全性,硬編碼密碼意味著擁有程式碼許可權的人都可以檢視到密碼,可以使用密碼訪問一些不具有許可權的系統,更嚴重的是如果攻擊者能夠訪問應用程式的位元組碼,利用一些反編譯工具就能閱讀到程式碼,可以輕易獲得密碼。
二、使用硬編碼的密碼漏洞的構成條件有哪些?
程式中採用硬編碼方式處理密碼。
三、使用硬編碼的密碼漏洞會造成哪些後果?
如果使用硬編碼的密碼,攻擊者將很可能透過該帳戶獲得訪問許可權。由於硬編碼密碼允許我們無需使用者名稱或者驗證實現裝置登入,因此其往往會帶來多種潛在使用途徑,甚至會洩漏部分敏感資訊。
四、使用硬編碼的密碼漏洞的防範和修補方法有哪些?
對於入站身份驗證:對密碼應用強單向雜湊,並將這些雜湊儲存在具有適當訪問控制的配置檔案或資料庫中。
對於出站身份驗證:將密碼儲存在程式碼之外的一個經過嚴格保護的、加密的配置檔案或資料庫中,該配置檔案或資料庫不會被所有外部人員訪問,包括同一系統上的其他本地使用者。
五、使用硬編碼的密碼漏洞的防範和修補方法有哪些?
以下程式碼使用硬編碼的密碼連線到資料庫:
public static void main(String[] args)
{
CreateDB db = new CreateDB();
Connection connection = null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
}
catch (Exception e)
{
System.out.println("Failed to load DB driver");
e.printStackTrace();
}
try
{
connection = DriverManager
.getConnection("jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb);DBQ=c:/webgoat.mdb;PWD=webgoat","webgoat", "webgoat");
db.makeDB(connection);
}
catch (Exception e)
{
System.out.println("Driver Manager failed!");e.printStackTrace();
}
……
使用Wukong軟體程式碼安全檢測修復系統檢測上述程式程式碼,則可以發現程式碼中存在著“使用硬編碼的密碼”的安全漏洞。請見下圖:
使用硬編碼的密碼在CWE中被編號為:CWE-259:Use of Hard-coded Password
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2786372/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 思科產品中存在硬編碼密碼和 Java 反序列化高危漏洞密碼Java
- NXNSAttack漏洞簡析
- 邏輯漏洞之密碼重置密碼
- 密碼找回邏輯漏洞總結密碼
- 編寫自己的Acunetix WVS漏洞指令碼指令碼
- DeDeCMS v5.7 密碼修改漏洞分析密碼
- DedeCMS最新版(20180109)任意使用者密碼修改漏洞分析密碼
- 一些常見的重置密碼漏洞分析整理密碼
- 駭客能篡改WiFi密碼,源於存在漏洞WiFi密碼
- 超10萬Zyxel防火牆裝置存在硬編碼憑據漏洞,儘快打補丁!防火牆
- 空密碼缺陷漏洞CWE-258:Empty Passwordin Configuration File密碼
- Gin使用及原始碼簡析原始碼
- 漏洞挖掘的藝術-面向原始碼的靜態漏洞挖掘原始碼
- 駭客找到iOS 11鎖屏密碼漏洞:破解iOS鎖屏密碼跟玩一樣iOS密碼
- FBI 為糟糕密碼使用者支招:可使用簡單的長密碼密碼
- 跨站指令碼漏洞指令碼
- 密碼管理器也不安全!LastPass曝出高危漏洞,黑客可輕鬆偷走你的密碼密碼AST黑客
- 程式碼安全 兩種程式碼漏洞
- 最新漏洞:Spring Framework遠端程式碼執行漏洞SpringFramework
- 新iPhone漏洞,可繞過密碼訪問聯絡人和照片iPhone密碼
- RCE(遠端程式碼執行漏洞)原理及漏洞利用
- 使用java8的方法引用替換硬編碼Java
- 簡單的csrf漏洞
- 萬能密碼的SQL隱碼攻擊漏洞其PHP環境搭建及程式碼詳解+防禦手段密碼SQLPHP
- minipack 原始碼簡析原始碼
- vuex 原始碼簡析Vue原始碼
- 4大密碼管理器再曝漏洞,你用的是這個嗎?密碼
- 【Codecs系列】硬體編碼器編碼引數分析
- 淺析檔案上傳漏洞
- 安全漏洞本質扯談之決戰彙編程式碼
- 谷歌發現G Suite漏洞:部分密碼明文儲存長達十四年谷歌UI密碼
- 模板 vs. 硬編碼 HTMLHTML
- 視訊硬編碼(iOS端)iOS
- 密碼學簡述密碼學
- 簡析CWE-476:NULL Pointer Dereference空指標解引用漏洞Null指標
- 密碼安全:密碼設定要求,密碼爆破辦法,密碼歸類使用,密碼處置方案密碼
- [漏洞預警]Laravel <= 8.4.2 Debug模式 _ignition 遠端程式碼執行漏洞Laravel模式
- Python-FTP漏洞掃描指令碼PythonFTP指令碼