关于接口测试的小总结分享

科技   2024-12-20 12:01   江西  

扫码领资料

获网安教程


本文由掌控安全学院 -   Track 投稿

Track安全社区投稿~  

千元稿费!还有保底奖励~(https://bbs.zkaq.cn)

理解什么是接口

就我自己的理解来说,接口其实就可以理解为功能点,例如你有一个/print接口,它的功能是返回一个字符串hello world,请求方法是GET,拼接到URL上访问http://xxx.com/print ,返回给你一个hello world这个字符串数据,这个就是一个名字叫做print返回hello world字符串的接口。(实际上接口的概念与之大有差异,这里仅为方便理解而做此解释。)

接口访问需要注意是否有前缀

比如/web/ ,/web/auth/,可以从历史包中获取接口信息,然后再将获取到的接口信息通过删除、拼接操作来fuzz接口,从而访问到正确的接口:

例如接口/app/selcourse/queryCourseInfo ,拼接访问/web/app/selcourse/queryCourseInfo提示404,/web/edu/app/selcourse/queryCourseInfo 则有内容回显。

接口访问需要注意请求方法 POST/GET etc…

可以将请求方法换成OPTIONS,来看该接口支持哪些方法:

也可以各种请求方法挨个尝试,观察是否有报错或者数据返回:例如Request method ‘GET’ not supported,或者响应500等等

接口访问需要注意是否鉴权(未授权漏洞挖掘)

此处接口为Access_token鉴权:

删除后:500

如果删除后回显内容正常,则此处存在未授权。

接口访问需要注意是否带有参数

如图,带参数返回数据正常:

不带参数则返回错误信息或者异常或无数据返回,这些情况都有可能,因此需要多做尝试。

接口访问所带参数可尝试置空或者删除操作

前面说到接口访问需要参数,后面说到可尝试删除操作,其实这两点并不冲突,将参数删除后可能会返回所有数据内容。

参数置空操作则应该是数据库模糊查询的利用,模糊查询后返回所有数据内容:

如图,deptid为213时,只返回两条内容

deptid置空或者直接传入{}后,返回数据内容大于两条

接口访问所需要的参数该如何获取以及猜测接口功能

传入空值,例如{},{[]},[]

可以通过接口以接口名字为基础进行猜测处理:

例如接口:/web/authmanage/api/common/findUserByDeptIdA,根据英文释义进行猜测,By是通过,findUser是查询用户,ByDetpIdA 通过DetpIdA,则这个接口的功能是:通过DetpIdA来查询用户相关的内容。detp一般是“部门”,这个是个人经验,通过部门IDA来查询用户相关的内容,猜测之后,就可以进行尝试,此处还需注意,传参类型,我是在URL上直接 ?name=1拼接参数呢,还是放到POST中,以JSON或者表单格式如name=1&pass=2这种进行传参呢?还是那两个字:尝试。

例如:

GET /web/edu/stuManager/stuByMasterAndNumber/230xxxxxx7 HTTP/2
该接口的参数不好猜测,一方面,参数是直接拼接到URL上,这个之后也可以进行尝试,那么按照这个规则,stu学生,by通过,master导师,and逻辑条件,number数字这里则猜测是学号,或者导师的名字或者导师的工号

/web/edu/stuManager/stuByMasterAndNumber/学号

/web/edu/stuManager/stuByMasterAndNumber/工号

/web/edu/stuManager/stuByMasterAndNumber/url_encode(导师名字)

或者基于对方是什么系统进行猜测:

如对方是学生管理系统,那参数可能是stuNumber, stuno,studentNumber,number,stuName等等等等。

字典fuzz:

这个没什么好说的,如果你有一个强大的参数字典,可尝试直接爆破之。

其他接口收集参数:

如果你在一个接口上没有得到对应的参数,而此时系统还有其他功能点,可以点一点其他功能点,其他功能点也会发起请求请求数据,此时可以从其他接口处采集来参数,然后用采集来的参数名去fuzz,感觉这样准确度会高一些。

小总结

一般访问一个接口的顺序应该是:

1,得到正确的路径

2,获取正确的请求方式

3,区分是否需要权限才能访问

4,使用正确的传参。

申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.


没看够~?欢迎关注!

分享本文到朋友圈,可以凭截图找老师领取

上千教程+工具+靶场账号

 分享后扫码加我


回顾往期内容

Xray挂机刷漏洞

零基础学黑客,该怎么学?

网络安全人员必考的几本证书!

文库|内网神器cs4.0使用说明书

代码审计 | 这个CNVD证书拿的有点轻松

【精选】SRC快速入门+上分小秘籍+实战指南

    代理池工具撰写 | 只有无尽的跳转,没有封禁的IP!

点赞+在看支持一下吧~感谢看官老爷~ 

你的点赞是我更新的动力

掌控安全EDU
安全教程\x5c高质量文章\x5c面试经验分享,尽在#掌控安全EDU#
 最新文章