——From tyhty
今天,在实训课程上学习了如何利用docker拉取镜像搭建靶场,这方面由于当时完全跟着教程进行学习的,在这里就不在赘述,有兴趣的话可以自行自主学习。今天的主题是如何进行对API接口的攻击,以及可能存在的一些简单漏洞利用。下面就开始我们的主题(由于作者才开始学习网络安全的核心知识,因此可能存在某些笔误和不正确的地方,欢迎及时指正,共同学习,谢谢)。
一、准备工作
- docker
- crapi靶场环境
- burpsuite
- 在靶场中注册一个账号,之后就可以开始进行打靶了。
二、开始进行攻击
(1)访问其他用户的车辆信息
首先对点击community进行抓包
将抓取到的数据流重放到repeater中进行操作,点击send,获取到服务器对请求的响应,可以看到,在response的底部存在以JSON格式返回的数据。其中就包括其他用户的敏感信息,这样,我们就获取到了用户的部分敏感信息。其中,我们可以看到一个vehicleid的字段,其就是车辆的ID。
接着,我们forward,返回网站首页,查看个人的车辆信息。点击网页下方的refresh location,进行抓包。
接着也是对数据流进行重放,我们可以得到车辆的详细信息,如下图所示。
之后观察其请求方法GET之后的字段,我们可以清晰的察觉到其中间存在一个类似于vehicleid的字段,我们猜测其为我们的车辆的id。因此,我们可以知道,通过该接口,我们可以修改其车辆的ID值来获取到不同车辆的详细信息,因此,我们粘贴上面已经得到的用户的车辆ID,修改请求头,从而获取到其他车辆的详细信息。
这就是第一个简单的接口安全隐患。
(2)访问其他用户的机械报告
首先我们找到维修请求的接口,进行抓包。
抓包的结果:
如上图,我们获得了维修报告的地址,我们进行访问,就可以查看到个人的维修报告信息。
之后我们修改report_id的值,就可以获得其他用户的维修报告。
(3)重置其他用户的密码
首先找到重置的接口,发送验证码。
然后修改信息后,输入随意的验证码进行抓包。
我们可以发现其返回结果是无效验证码。
接着,我们尝试多次,检查是否有防爆破。结果如下图,确实存在防爆破。
我们修改请求头中的版本,将其降低,之后再次重放,发现防爆破消失。这时候,我们就可以使用Burpsuite进行字典爆破了。
在Burpsuite中添加密码本,进行对验证码的爆破。最后检查得到验证码是5105,并对结果修改成功。
(4)找到泄露用户敏感信息的API接口
我们点击主页的community进行抓包,之后发送到repeater,进行发送,发现获取到response中携带用户的个人敏感数据。
(5)找到泄露视频内部属性的API接口
我们来到个人信息主页,点击上传文件之后修改文件的信息,同时进行抓包。之后请求得到响应。其中就包含视频的详细信息。
(6)使用“contact mechanic”功能完成DOS攻击。
填写用户修理信息之后进行抓包,然后获取响应信息,之后修改repeat_request_if_failed修改为true,将number_of_repeats修改为较大的数字,接着重放,实现DOS攻击。
(7)删除另一个用户的视频
首先找到视频的API,点击修改视频信息,进行抓包。
我们将请求头修改为OPTIONS协议探测支持的http协议,我们可以看到其支持的协议有PUT,DELETE,GET,HEAD,OPTIONS。
之后我们修改为DELETE协议,并将请求头中的user修改为admin身份,之后重放,就返回了修改成功的提示。
然后我们修改请求头中的id号,就可以删除不同用户的视频。如下图就是删除了第31个视频。
(8)免费获取一件物品
首先获取订单的API,我们点击Buy并进行抓包。
对获取的响应进行查看。之后我们将POST请求改为GET请求,我们可以查看到订单的详细信息。
之后将GET请求修改为PUT请求,将status修改为returned,表示进行退货。之后查看响应,发现已经进行了修改。
(9)将结余增加1000元。
同上述操作,将quantity的值修改为100,status修改为returned。即可将账户添加1000元。
(10)更新内部视频属性
在修改视频名称的同时,修改其他属性。
对修改属性的接口进行抓包。之后查看响应,发现参数conversion_params的属性值可以进行修改。之后对属性值进行修改后就可以完成了。
(11)让crAPI发送一个HTTP调用到www.baidu.com并返回响应。
首先也是找到接口,进行抓包,接着修改其请求地址为之前在DNSlog上获取的子域,再次发送请求。返回DNSlog查看结果,就可以得到响应。
(12)获取免费优惠券
首先也是找到相应的接口,进行抓包处理。然后在请求中添加字段进行注入:“ne”:“xxxxxxxxxxxx”。(其中ne表示不等于)。
接着对请求进行重放。就可以在响应中查看到优惠券的信息。
Comments | NOTHING