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

七個常見的Java應(yīng)用安全陷阱及應(yīng)對

安全 應(yīng)用安全
本文列舉了七個較常見的典型安全陷阱,如果企業(yè)安全團(tuán)隊意識到Java應(yīng)用程序中可能存在漏洞,先試著從這幾個方面著手開展工作,可能會更容易、更快捷發(fā)現(xiàn)并消除問題。

Java應(yīng)用程序已經(jīng)成為黑客經(jīng)常攻擊的目標(biāo),畢竟,它涉及的組件太多:服務(wù)器端邏輯、客戶端邏輯、數(shù)據(jù)存儲、數(shù)據(jù)傳輸、API及其他組件,確保所有組件安全無疑困難重重。實際上,23%的.NET應(yīng)用程序存在嚴(yán)重漏洞,而44%的Java應(yīng)用程序存在嚴(yán)重漏洞。

Java應(yīng)用安全方面的挑戰(zhàn)有很多,不過,本文列舉了七個較常見的典型安全陷阱,如果企業(yè)安全團(tuán)隊意識到Java應(yīng)用程序中可能存在漏洞,先試著從這幾個方面著手開展工作,可能會更容易、更快捷發(fā)現(xiàn)并消除問題。

XXE攻擊

如果網(wǎng)絡(luò)攻擊者利用可擴(kuò)展標(biāo)記語言(XML)解析器讀取服務(wù)器上的任意文件,會出現(xiàn)這種攻擊。隨后他們可以部署XML外部實體(XXE),以檢索獲取用戶信息、配置文件甚至云環(huán)境的憑證。大多數(shù)Java XML解析器默認(rèn)啟用XXE要求,因此企業(yè)安全人員應(yīng)該主動禁用XXE以避免XXE攻擊。

不安全的反序列化

在序列化過程中,編程語言中的對象被轉(zhuǎn)換成可以保存到數(shù)據(jù)庫或通過網(wǎng)絡(luò)傳輸?shù)母袷健7葱蛄谢^程中則出現(xiàn)相反的情況,即序列化的對象從文件或網(wǎng)絡(luò)中讀取,因此可以將其轉(zhuǎn)回成對象。然而,黑客會尋找不安全的反序列化漏洞,以便可以操縱序列化對象,發(fā)起身份驗證繞過、拒絕服務(wù)或任意代碼執(zhí)行等攻擊。為防止出現(xiàn)這種情況,安全人員需要打上最新補(bǔ)丁,并確保第三方代碼符合防御標(biāo)準(zhǔn),因為許多不安全的反序列化漏洞通過依賴項引入。

遠(yuǎn)程代碼執(zhí)行

黑客經(jīng)常在受害者的機(jī)器上執(zhí)行遠(yuǎn)程代碼(RCE),常常通過命令注入漏洞來實現(xiàn):用戶輸入直接與系統(tǒng)命令相關(guān)聯(lián)。因為應(yīng)用程序無法區(qū)分用戶輸入和系統(tǒng)命令,所以會將用戶輸入作為代碼來執(zhí)行,這讓黑客得以在機(jī)器上執(zhí)行任意命令。最有效的對策是列出一份有效的許可名單,這將確保形成穩(wěn)健的輸入驗證機(jī)制。

SQL注入

籠統(tǒng)地講,當(dāng)應(yīng)用程序無法正確區(qū)分不受信任的用戶數(shù)據(jù)和合法/有效代碼時,就會出現(xiàn)注入。在操作系統(tǒng)命令中,這會導(dǎo)致命令注入。以結(jié)構(gòu)化查詢語言(SQL)注入為例,攻擊者注入數(shù)據(jù)以操縱SQL命令。如果應(yīng)用程序無法正確驗證用戶輸入,攻擊者將會插入為SQL語言指定的字符,以破壞查詢邏輯,并執(zhí)行任意SQL代碼。他們可以利用受感染的查詢結(jié)構(gòu)來篡改或竊取數(shù)據(jù),及/或在操作系統(tǒng)中執(zhí)行任意命令。為此可以預(yù)編譯SQL語句,以便嚴(yán)格提供插入到語句來執(zhí)行的參數(shù)(或變量/輸入)。

NoSQL注入

NoSQL數(shù)據(jù)庫不使用SQL語言。在NoSQL注入期間,黑客會將數(shù)據(jù)注入到數(shù)據(jù)庫語言邏輯中,以啟用身份驗證繞過和RCE。MongoDB、Couchbase、Cassandra、HBase及其他NoSQL數(shù)據(jù)庫容易受到這類攻擊。NoSQL查詢語法針對特定的數(shù)據(jù)庫,查詢常常用應(yīng)用程序的編程語言來編寫。因此,必須采用針對特定數(shù)據(jù)庫的方法來阻止NoSQL注入。

LDAP注入

輕量級目錄訪問協(xié)議(LDAP)使開發(fā)人員能夠查詢有關(guān)系統(tǒng)用戶和設(shè)備的目錄服務(wù)。但是當(dāng)應(yīng)用程序在這些查詢中允許不受信任的輸入時,黑客可以提交精心設(shè)計的輸入,以繞過身份驗證,并篡改存儲在目錄中的數(shù)據(jù)。設(shè)置參數(shù)化查詢在這里同樣會起到有效的預(yù)防作用。

日志注入

安全團(tuán)隊依靠系統(tǒng)日志來檢測網(wǎng)絡(luò)中的惡意活動。攻擊者也意識到這一點,會在攻擊期間篡改日志文件以掩飾行蹤,通過典型的日志注入,他們可以誘騙應(yīng)用程序在日志文件中寫入虛假條目。比如,攻擊者可能會尋找那些不清理寫入到日志輸入內(nèi)容中換行符的應(yīng)用程序,引入自己的換行符,并插入新的應(yīng)用程序日志條目。或者將惡意HTML注入到日志條目中,對監(jiān)管日志的管理員的瀏覽器發(fā)起跨站點腳本(XSS)攻擊。

為避免出現(xiàn)這種情況,企業(yè)安全人員需要在每個日志條目前加上時間戳、進(jìn)程ID、主機(jī)名及其他形式的元數(shù)據(jù),以此區(qū)分真實日志條目和虛假日志條目。在采用零信任原則時,應(yīng)該將日志文件內(nèi)容視為不受信任的輸入,除非輸入完全通過了驗證,否則不能允許訪問和操作。

參考鏈接:https://sdtimes.com/java/how-to-avoid-the-top-7-java-security-pitfalls/

責(zé)任編輯:趙寧寧 來源: 安全牛
相關(guān)推薦

2022-10-11 07:20:56

YAML字符串語言

2025-02-10 00:00:00

技巧JavaStreams

2016-02-23 09:23:50

swift陷阱解決方法

2017-12-22 05:18:06

2023-05-11 09:06:50

錯誤IT培訓(xùn)

2014-03-12 15:23:20

2021-05-06 10:26:49

網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊黑客

2022-08-02 20:22:01

SaaS安全網(wǎng)絡(luò)攻擊

2023-07-11 18:32:19

UbuntuLinux應(yīng)用塢

2022-05-12 10:06:52

首席信息安全官運(yùn)營團(tuán)隊

2023-05-06 10:50:41

IT培訓(xùn)IT團(tuán)隊

2021-12-27 08:58:28

低代碼開發(fā)數(shù)據(jù)安全

2022-03-25 08:00:00

Kubernetes備份集群

2022-06-30 10:24:37

IT領(lǐng)導(dǎo)者IT指標(biāo)錯誤

2023-07-13 10:30:18

CIOIT組織

2019-07-28 21:29:40

2023-09-29 22:46:34

數(shù)據(jù)中心

2023-09-25 14:07:58

數(shù)據(jù)中心

2022-06-27 15:07:35

智能汽車

2022-06-30 15:12:48

數(shù)據(jù)分析工具大數(shù)據(jù)
點贊
收藏

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