当前位置:首页 > 黑客业务 > 正文内容

REST API安全规划攻略

访客4年前 (2021-04-15)黑客业务510

REST的全称是REpresentational State Transfer,它运用传统Web特色,提出一个既适于客户端运用又适于服务端的运用的、一致架构,极大程度上一致及简化了网站架构规划。
现在在三种干流的Web服务完成计划中,REST办法服务比较杂乱的SOAP和XML-RPC比照来讲,愈加简练,越来越多的web服务开始运用REST规划并完成。但其短少安全特性,《REST API 安全规划攻略》便是一个REST API安全规划的攻略,权当抛砖引玉,引荐网站后台规划及网站架构师们阅览。
1、REST API 简介
REST的全称是REpresentational State Transfer,表明表述性无状况传输,无需session,所以每次恳求都得带上身份认证信息。rest是依据http协议的,也是无状况的。仅仅一种架构办法,所以它的安全特性都需咱们自己完成,没有现成的。主张一切的恳求都经过https协议发送。RESTful web services概念的中心便是“资源”。资源可以用URI来表明。客户端运用HTTP协议界说的办法来发送恳求到这些URIs,当然可能会导致这些被拜访的”资源“状况的改动。HTTP恳求对应联系如下:
========== ===================== ========================
HTTP 办法 行为 示例
========== ===================== ========================
GET 获取资源的信息 http://xx.com/api/orders
GET 获取某个特定资源的信息 http://xx.com/api/orders/123
POST 创立新资源 http://xx.com/api/orders
PUT 更新资源 http://xx.com/api/orders/123
DELETE 删去资源 http://xx.com/api/orders/123
========== ====================== ======================
关于恳求的数据一般用json或许xml办法来表明,引荐运用json。
2、身份认证
身份认证包括很多种,有HTTP Basic、HTTP Digest、API KEY、Oauth、JWK等办法,下面简略讲解下:
2.1 HTTP Basic
REST由所以无状况的传输,所以每一次恳求都得带上身份认证信息,身份认证的办法,身份认证的办法有很多种,第一种便是http basic,这种办法在客户端要求简略,在服务端完成也十分简略,只需简略装备apache等web服务器即可完成,所以关于简略的服务来说仍是挺便利的。可是这种办法安全性较低,便是简略的将用户名和暗码base64编码放到header中。
base64编码前:Basic admin:admin
base64编码后:Basic YWRtaW46YWRtaW4=
放到Header中:Authorization: Basic YWRtaW46YWRtaW4=
正是因为是简略的base64编码存储,牢记牢记在这种办法下必定得留意运用ssl,否则便是裸奔了。在某些产品中也是依据这种相似办法,仅仅没有运用apache的basic机制,而是自己写了认证结构,原理仍是相同的,在一次恳求中base64解码Authorization字段,再和认证信息做校验。很显然这种办法有问题,认证信息相当于明文传输,别的也没有防暴力破解功用。
2.2 API KEY
API Key便是经过用户身份认证之后服务端给客户端分配一个API Key,相似:http://example.com/api?key=dfkaj134,一般的处理流程如下:
一个简略的规划示例如下。
client端:

server端:

client端向服务端注册,服务端给客户端发送呼应的api_key以及security_key,留意保存不要走漏,然后客户端依据api_key,secrity_key,timestrap,rest_uri选用hmacsha256算法得到一个hash值sign,结构途中的url发送给服务端。服务端收到该恳求后,首要验证api_key,是否存在,存在则获取该api_key的security_key,接着验证timestrap是否超越时刻约束,可依据体系成而定,这样就避免了部分重放进犯,途中的rest_api是从url获取的为/rest/v1/interface/eth0,最终核算sign值,完之后和url中的sign值做校验。这样的规划就避免了数据被篡改。经过这种API Key的规划办法加了时刻戳避免了部分重放,加了校验,避免了数据被篡改,一起避免了传输用户名和暗码,当然了也会有必定的开支。
2.3 auth1.0a或许Oauth2
OAuth协议适用于为外部运用授权拜访本站资源的状况。其间的加密机制与HTTP Digest身份认证比较,安全性更高。运用和装备都比较杂乱,这儿就不触及了。
2.4 JWT
JWT是JSON Web Token,用于发送可经过数字签名和认证的东西,它包括一个紧凑的、URL安全的JSON目标,服务端可经过解析该值来验证是否有操作权限,是否过期等安全性查看。因为其紧凑的特色,可放在url中或许HTTP Authorization头中,详细的算法就如下图:

3、授权
身份认证之后便是授权,依据不同的身份,颁发不同的拜访权限。比方admin用户、普通用户、auditor用户都是不同的身份。简略的示例:

上述是笔直权限的处理,假如遇到了平行权限的问题,如用户A获取用户B的身份信息或许更改其他用户信息,关于这些敏感数据接口都需求加上对用户的判别,这一步一般都在详细的逻辑完成中完成。
4、URL过滤
在进入逻辑处理之前,参加对URL的参数过滤,如:
/site/{num}/policy
限制num方位为整数等,假如不是参数则直接回来不合法参数,设定一个url清单,不在不在url清单中的恳求直接回绝,这样能避免开发中的api走漏。rest api接口一般会用到GET、POST、PUT、DELETE,未完成的办规律直接回来办法不允许,关于POST,PUT办法的数据选用json格局,并且在进入逻辑前验证是否json,不合法回来json格局过错。

[1] [2]  黑客接单网

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:http://therlest.com/106236.html

分享给朋友:

“REST API安全规划攻略” 的相关文章

字节承认商业化团队撤城裁员

据晋江新闻网2021年10月19日21:00:43的最新发布,微博网友@ 爆料。 平安夜来临之际,事件,在网上炒得沸沸扬扬,引发全网热议! 据悉,黑客追款后来被报道了几次。猜测第六百八十八章逃港者第六百八十九章调侃第六百。相对这个账号是他的。 1.专业网赌追回律师 首先确保整个真正的黑客追款方案是最...

猪肉怎么选?颜色有区别吗?今天做饭的时候发现上次买的猪肉颜色跟这

猪肉怎么选?颜色有区别吗?今天做饭的时候发现上次买的猪肉颜色跟这 买猪肉时,根据肉的颜色、外观、气味等可以判断出肉的质量是好还是坏。优质的猪肉,脂肪白而硬,且带有香味。肉的外面往往有一层稍带干燥的膜,肉质紧密,富有弹性,手指压后凹陷处立即复原。 次鲜肉肉色较鲜肉暗,缺乏光泽,脂肪呈灰白色;表面带...

中铁快运寄件电话 - 中铁快运官方网站

尽快前去领取吧,查询可以来我们,包裹已经到石家庄了,告诉对方所寄何物。广木头箱子费用在及时上百不等。 .网站“中铁快运单号查询系统”留言查询,开始不知道。 中铁快运的,且电话通知无人接听,但是价格也很贵。在哪里寄,中铁快运,电话多少中铁。 打了个电话,K54,徐州中铁快运,你好,木头箱子中铁能提供。...

马来西亚dhl国际快递查询,国际快递订单号查询官网

物流集团Deutsche Post 国际DHL旗下公司,马来西亚,大概22号左右抵达当地关口。作业程序HONG查询 KONG-HONG KONG目的地马来西亚,至于查询的话,很方便的。也可以打电话咨询,然后点击查询就会有快递信息!通过快递官网查询物流的。一直查询不到相关信息!打开DHL官网,感激不尽...

intense靶场-获取User权限

出品|MS08067实验室(www.ms08067.com) 本文作者:jokelove(Ms08067内网安全小组成员) Intense是HTB中一个难度中上的靶场,需要参与者具备下述能力: 1. Python源码审计 2. SQL注入原理 3. SNMP远程命令执行 4. 栈溢出...

西湖论剑 Flagshop 分析复现

本文首发于“合天智汇”公众号 作者:xiaoleung title: 西湖论剑 Flagshop 分析复现 date: 2020-10-13 13:12:04 tags: CTF 本文推荐实验 PWN综合练习(三) 实验:PWN综合练习(三)(合天网安实验室) CTF PWN进阶训练实...

评论列表

掩吻可难
2年前 (2022-07-13)

务端给客户端发送呼应的api_key以及security_key,留意保存不要走漏,然后客户端依据api_key,secrity_key,timestrap,rest_uri选用hmacsha256算法得到一个hash值sign,结构途中的url发送给服务端。服务端收到该恳求后,首要验证api

萌懂长野
2年前 (2022-07-14)

份信息或许更改其他用户信息,关于这些敏感数据接口都需求加上对用户的判别,这一步一般都在详细的逻辑完成中完成。4、URL过滤在进入逻辑处理之前,参加对URL的参数过滤,如:/site/{num}/p

萌懂折奉
2年前 (2022-07-13)

之后服务端给客户端分配一个API Key,相似:http://example.com/api?key=dfkaj134,一般的处理流程如下:一个简略的规划示例如下。client端:serv

边侣听茶
2年前 (2022-07-13)

th、JWK等办法,下面简略讲解下:2.1 HTTP BasicREST由所以无状况的传输,所以每一次恳求都得带上身份认证信息,身份认证的办法,身份认证的办法有很多种,第一种便是http basic,这种办法在客户端要求简略,在服务端完成也十分简略,只需简略装备apache等we

森槿囍神
2年前 (2022-07-13)

ttps协议发送。RESTful web services概念的中心便是“资源”。资源可以用URI来表明。客户端运用HTTP协议界说的办法来发送恳求到这些URIs,当然可能会导致这些被拜访的”资源“状况的改动。HTTP恳求对应联系如下:========== =====

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。