应用程序编程接口(API)为开发人员和网站所有者提供现有应用程序的源代码,可以根据他们(开发人员)的特定需求重新调整用途,并集成到现有业务和网站功能中以改善用户体验。简而言之,API已成为在线业务的基本要素,任何基本要素都可能很快成为恶意行为者的目标。如果您是一名开发人员,或者您正在网站上的各种应用程序中使用API,那么这里有一些最常见的API漏洞、它们是如何被锁定的,以及您可以采取哪些措施来帮助减轻它们的潜在危害。代码注入对于攻击者来说,使用代码注入是命令API的最常见方式,使其执行您或您的客户不希望他们执行的所有操作。最常见的代码注入包括SQL、XML、RegEx和API,它们向应用程序发送命令以执行共享敏感用户数据、密码和其他身份验证信息等操作,以及在设备软件上植入恶意软件和间谍。InMotionHostingInMotionHosting是一家美国虚拟主机提供商,成立于2001年。InMotionHosting是美国最好的中小型客户和电子商务网站托管空间服务提供商之一。确保API免受代码注入影响的最佳方法之一是执行手动测试,特别是密集的查询检查,以确定恶意人员是否以及如何将恶意代码插入应用程序。重复请求攻击此漏洞适用于允许攻击者发出重复请求的API,当API未设计为在识别并拒绝第一个不可信请求后禁止未来请求时,就会发生这种情况。API通常以这样一种方式设计,即虽然它们能够成功拒绝初始可疑请求,但它们不会阻止同一恶意行为者继续发出不同的请求。这些类型的暴力攻击通常用于探测漏洞,可以通过设置策略速率限制、使用HMAC身份验证、使用多因素身份验证或短期OAuth访问令牌来防止。请求伪造攻击请求伪造攻击或跨站点请求伪造攻击发生在黑客试图使用经过身份验证的Web应用程序(例如API)来执行诸如更改电子邮件地址或从一个银行帐户向另一个银行帐户汇款等操作时。这些攻击已经流行多年,并威胁到一些最大的Internet站点。针对跨站点请求伪造的API最常见的方法是使用服务器生成的令牌,这些令牌作为“隐藏字段”放置在HTML代码中。每次发出请求时,这些都会返回到服务器,以便服务器可以确定源是否经过身份验证并因此受到信任。随着越来越多的金融交易继续在线进行,跨站点请求伪造攻击的风险也在增加。受损的用户身份验证API及其创建者并不总是确保身份验证机制正常工作或创建不正确,从而使API极易受到攻击。错误的身份验证机制允许黑客伪装成经过身份验证的用户,然后他们可以造成各种破坏。有时,使用的身份验证系统不是很可靠,API密钥会意外泄露。除了OAuth之外,加强身份验证过程的一个好方法是考虑为请求添加时间戳。这可以作为自定义HTTP标头添加到任何API请求中,强制服务器将当前时间戳与请求时间戳进行比较。身份验证仅在服务器断定两个时间戳都在几分钟内时才有效。总结API是主要目标,因为使用相对简单的程序可能会造成很大的损害。因此,构建和使用API的人员需要采取必要的预防措施,以确保他们及其客户的信息不会受到上述常见API漏洞的损害。本文翻译自:https://www.hackread.com/the-most-common-api-vulnerabilities/
