RESTful Web服务上的不安全HTTP方法

时间:2016-07-19 15:31:54

标签: rest

因此,通常认为像PUT和DELETE这样的HTTP方法是不安全的。

但是,建议对RESTful API使用PUT和DELETE方法。

为什么这些方法PUT和DELETE不被认为对RESTful API不安全

1 个答案:

答案 0 :(得分:2)

TL; DR

它们被认为是不安全的,因为Web服务器的默认行为会直接影响服务器文件系统上的文件 - 允许执行代码攻击。

RESTful服务不会(必须)根据原始请求创建文件。

内部/防火墙/代理

内部 API - 受到私有LAN的保护。它只能被其他内部(可信)工具访问。

同样,防火墙内部或外部API仅接受来自某些IP(可信服务器)的请求。

代理服务器可以处理加密和用户身份验证以及授权,然后将请求转发给RESTful服务。

但是仍有哪些安全隐患?

如果PUT会在服务器上创建非常不安全的可执行文件** - 因为代码注入/可执行注入的风险......

...但是在接收PUT或DELETE操作时,我们不是在谈论文件管理本身。我们讨论的是一个特定的处理程序代码,它会分析请求并执行您告诉它处理数据的任何事情(例如:将其放入数据库中)。

**特别是因为在资源上执行HTTP PUT之后(在RESTful上下文中),人们可能希望能够访问在同一资源上执行HTTP GET(意味着资源可以直接访问)。