最常見的三大API漏洞介紹
應用程序編程接口(API)為開發(fā)人員和網(wǎng)站所有者提供現(xiàn)有應用程序的源代碼,這些源代碼可以根據(jù)他們(開發(fā)人員)的特定需求進行重新定位,并集成到現(xiàn)有業(yè)務和網(wǎng)站功能中,以改善用戶體驗。
簡而言之,API已經(jīng)成為在線業(yè)務的基本要素,而任何基本要素很快就會成為惡意攻擊者的攻擊目標。
如果你是一名開發(fā)人員,或者你正在站點上的各種應用程序中使用API,下面是一些最常見的API漏洞,它們是如何被鎖定的,以及你可以做些什么來幫助緩解它們的潛在危害。
代碼注入
對于攻擊者來說,使用代碼注入是最常用的命令API的方法,可以讓它執(zhí)行你或你的客戶不希望他們做的所有事情。最常見的代碼注入包括SQL,XML,RegEx和API,它們向應用程序發(fā)送命令以執(zhí)行諸如共享敏感的用戶數(shù)據(jù)、密碼和其他身份驗證信息之類的操作,并在設(shè)備上植入惡意軟件和間諜軟件。
InMotion Hosting
InMotionHosting是成立于2001年的美國虛擬主機商,InMotionHosting是美國最好的針對中小型客戶和電子商務網(wǎng)站的主機空間服務商之一。
確保API不受代碼注入影響的最佳方法之一是執(zhí)行手動測試,特別是密集的查詢檢查,以確定是否有惡意的人會將惡意代碼插入應用程序,以及如何插入。
重復請求攻擊
此漏洞適用于那些允許攻擊者重復請求的API,當識別和拒絕第一個不值得信任的請求后,API沒有被設(shè)計成禁止未來的請求時,就會發(fā)生這種情況。
對API的設(shè)計通常是這樣的:雖然它們能夠成功地拒絕最初的可疑請求,但它們不會阻止同一惡意行為者繼續(xù)發(fā)出不同的請求。

這些類型的暴力攻擊通常用于探測漏洞,并且可以通過在策略上設(shè)置速率限制,使用HMAC身份驗證,使用多因素身份驗證或使用壽命較短的OAuth訪問令牌來加以防范。
請求偽造攻擊
當黑客試圖使用經(jīng)過身份驗證的web應用程序(如API)進行更改電子郵件地址或從一個銀行賬戶向另一個銀行賬戶匯款等操作時,就會發(fā)生請求偽造攻擊或跨站點請求偽造攻擊。這些攻擊已經(jīng)流行多年,并威脅了一些最大的互聯(lián)網(wǎng)網(wǎng)站。

針對跨站點請求偽造的API最常見的方法是使用服務器生成的令牌,這些令牌作為“隱藏字段”放置在HTML代碼中。每次發(fā)出請求時,這些都返回給服務器,以便服務器能夠確定源是否經(jīng)過身份驗證,因此是可信的。隨著越來越多的金融交易繼續(xù)發(fā)生在網(wǎng)上,跨站點請求偽造攻擊的風險也在增加。
受攻擊的用戶身份驗證
API及其創(chuàng)建者并不總是能夠確保身份驗證機制正常運行或創(chuàng)建不正確,從而使API極易受到攻擊。錯誤的身份驗證機制允許黑客偽裝成已認證用戶的身份,然后他們可以造成各種各樣的破壞。有時,所使用的身份驗證系統(tǒng)不是很可靠,并且會意外泄露API密鑰。
除OAuth外,加強身份驗證過程的一種好方法是考慮使用時間戳記請求??梢詫⑵渥鳛樽远xHTTP標頭添加到任何API請求中,從而強制服務器比較當前時間戳和請求時間戳。僅當服務器得出兩個時間戳都在幾分鐘之內(nèi)的結(jié)論時,身份驗證才有效。
總結(jié)
API是主要目標,因為使用相對簡單的過程可以造成很大的損害。因此,那些構(gòu)建和使用API的人需要采取必要的預防措施,以確保他們和他們的客戶的信息不會受到上述常見API漏洞的威脅。
本文翻譯自:https://www.hackread.com/the-most-common-api-vulnerabilities/