未授权访问-api接口

本文讲述了API接口的命名规则、如何通过观察路径确定接口、未授权访问漏洞的检测策略,包括参数处理和使用工具如熊猫和Burp进行测试。强调了理解api路径命名对发现漏洞的重要性。
摘要由CSDN通过智能技术生成

特别注意api接口的一些命名规则

常见的是这种,具体要看开发人员怎么命名的

而确认api路径的最好办法还是去多出发几个功能点,看他的路径,比如下面触发多个功能点

对比得知两个路径都有pyr/user/这时候可能就会觉得这就是api路径,但是实际情况要去查看他的js文件

特别注意api接口的一些命名规则

常见的是这种,具体要看开发人员怎么命名的

而确认api路径的最好办法还是去多出发几个功能点,看他的路径,比如下面触发多个功能点

对比得知两个路径都有pyr/user/这时候可能就会觉得这就是api路径,但是实际情况要去查看他的js文件

有些系统的登录和密码找回并不在api路径下,所以还要结合实际情况去判断,不是刻板印象

比如直接就是http://www.xx.com/login, http://www.xx.com/passwd 那就不是api路径

http://www.xx.com/api/user/list

这种就很可能是,但具体的最好还是去翻找js文件

为什么要先讲清楚api路径和命名规则呢,因为所有的未授权接口,前提都是在合法的api路径下的,如果url都噶偶凑了,比如放在根目录区分为,就会错失很多漏洞,所以搞清楚api路径的命名规则,是根本

比如,正常路径是http://www.xx.com/api/user/list,而在测试未授权的时候,访问资源http://www.xx.com/user/login,这种对面服务器再找路径都找到

开始进阶

1.哪些网站容易出现未授权访问漏洞

一是一些访问一些url会给你自动跳转,跳转到index或者home这种,通常还有一个/#/号,而就是一个app,这种功能比较多,文件下载上传这方面是鉴权不好做,防止任意文件下载通常都是复杂的文件命名,但如何是时间戳这种就可以猜测出文件名字如何下载

通过一些工具扫描到api接口,和自己查看,整理出来到一个文本里面

有一些文件格式是json看的很头疼,需要还原

2.api接口从哪来,api接口往哪拼接

api拼接位置,从根目录开始遍历get和post请求方法,从api目录开始遍历get和post请求方式

3.参数怎么进来。参数怎么拼

参数fuzz大法

有些在遍历过后报错会提示某某参数不能为空,就可以尝试去提交参数

尽可能的多收集对应的数据,有一些网站是不会有排异反应的,不会因为参数很乱很多就拒绝服务,而是只会提取自己要的,会因为某一个参缺少而拒绝服务,这种去看就多去手机,比如登陆成功之后给的一些参数,访问商家给的一些参数等等

实战案例

先用熊猫提取路由

比如这个时候都是user什么什么,那现在就是在特征路径。如果user前面还有一个api,那说明api才是特征路径

然后就把收集的数据用burp去get,post都跑一遍

post提交注意项

根据之前跑出来的未授权的数据作为参数再去跑一便,不知道post传参是什么的就去访问一下抓包,看看有哪些传参的地方,

有些系统的登录和密码找回并不在api路径下,所以还要结合实际情况去判断,不是刻板印象

比如直接就是http://www.xx.com/login, http://www.xx.com/passwd 那就不是api路径

http://www.xx.com/api/user/list

这种就很可能是,但具体的最好还是去翻找js文件

为什么要先讲清楚api路径和命名规则呢,因为所有的未授权接口,前提都是在合法的api路径下的,如果url都噶偶凑了,比如放在根目录区分为,就会错失很多漏洞,所以搞清楚api路径的命名规则,是根本

比如,正常路径是http://www.xx.com/api/user/list,而在测试未授权的时候,访问资源http://www.xx.com/user/login,这种对面服务器再找路径都找到

开始进阶

1.哪些网站容易出现未授权访问漏洞

一是一些访问一些url会给你自动跳转,跳转到index或者home这种,通常还有一个/#/号,而就是一个app,这种功能比较多,文件下载上传这方面是鉴权不好做,防止任意文件下载通常都是复杂的文件命名,但如何是时间戳这种就可以猜测出文件名字如何下载

通过一些工具扫描到api接口,和自己查看,整理出来到一个文本里面

有一些文件格式是json看的很头疼,需要还原

2.api接口从哪来,api接口往哪拼接

api拼接位置,从根目录开始遍历get和post请求方法,从api目录开始遍历get和post请求方式

3.参数怎么进来。参数怎么拼

参数fuzz大法

有些在遍历过后报错会提示某某参数不能为空,就可以尝试去提交参数

尽可能的多收集对应的数据,有一些网站是不会有排异反应的,不会因为参数很乱很多就拒绝服务,而是只会提取自己要的,会因为某一个参缺少而拒绝服务,这种去看就多去手机,比如登陆成功之后给的一些参数,访问商家给的一些参数等等

实战案例

先用熊猫提取路由

比如这个时候都是user什么什么,那现在就是在特征路径。如果user前面还有一个api,那说明api才是特征路径

然后就把收集的数据用burp去get,post都跑一遍

post提交注意项

根据之前跑出来的未授权的数据作为参数再去跑一便,不知道post传参是什么的就去访问一下抓包,看看有哪些传参的地方,

取自:漏洞挖掘实战经验 | 未授权访问漏洞测试细节-下篇_哔哩哔哩_bilibili

### 回答1: 对于您的问题,我可以回答。在Magic-api中,您可以通过添加接口鉴权来提高接口安全性。您可以使用API密钥、JWT Token等方式进行接口鉴权,以确保只有授权用户才能访问接口。在具体实现上,您可以在请求头中添加相应的授权信息,并在服务端对该信息进行验证,以确定用户是否有访问接口的权限。 ### 回答2: 鉴权是用于验证API请求是否合法的一种安全措施。在使用magic-api添加接口鉴权时,可以采用以下步骤: 1. 生成密钥:首先,需要生成一个用于鉴权的密钥。可以使用常见的加密算法如HMAC-SHA256等来生成密钥。确保密钥具有足够的复杂度和安全性。 2. 将密钥配置到magic-api:在magic-api的配置文件中,添加一个鉴权相关的配置项,将生成的密钥配置到该项中。这个配置项可以是一个字符串,也可以是一个文件路径,存储密钥的值。 3. 添加鉴权中间件:在接口请求处理流程中,添加一个鉴权中间件。该中间件的作用是在请求到达API处理逻辑之前,对请求进行鉴权验证。通过读取配置的密钥,对请求的参数、头部信息等进行加密或签名,并与鉴权中间件请求中的加密或签名进行比对。 4. 验证鉴权结果:鉴权中间件会返回一个鉴权结果,通常可以是布尔值或者一个带有鉴权信息的对象。根据鉴权结果,可以决定是否允许继续处理该请求。如果鉴权失败,返回一个相应的错误信息,并拒绝该请求。 5. 日志记录:为了追踪和审计API请求的鉴权情况,可以在鉴权中间件中添加日志记录的功能。记录每个请求的鉴权结果、鉴权时间、请求参数等信息,以便后续的统计和分析。 通过以上步骤,可以在magic-api中添加接口鉴权功能,提高API安全性和可靠性,确保只有经过合法鉴权的请求能够被正常处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值