渗透测试实战教程!记一次从0到1的逻辑漏洞挖掘全流程

当我看到前端没任何功能点时,是绝望的;看到登录到系统后端只调用了两个接口时,是绝望的;看到js中一堆接口,但大多数都是403时,是绝望的;找到一个能调通的接口,但不知道参数名时,是绝望的;找到参数名,但是不知道传参的值时,是绝望的

前言

最近对某产品进行渗透测试,系统登陆进去发现是一片空白,前端没有任何菜单,界面,登陆后也仅仅只会产生两个后端请求,通过爆破也发现没有什么敏感的接口、api文档等。

以往遇到这种情况都是直接下一个,但这次由于最近产出实在拉跨,选择多看看,最终在js中发现了更多接口,通过观察同类型接口得到关键接口需要的参数,通过构造参数最终拿到了该平台总共573万用户的昵称,手机号等信息,成功从0到1产出了严重的逻辑漏洞。

此篇文章用于复盘,现在回想,似乎这次漏洞挖掘的每一步都是一个“绝望”的心态:

看到前端没任何功能点时,是绝望的
看到登录到系统后端只调用了两个接口时,是绝望的
看到js中一堆接口,但大多数都是403时,是绝望的
找到一个能调通的接口,但不知道参数名时,是绝望的
找到参数名,但是不知道传参的值时,是绝望的

但好在,在每一次“绝望”的时候,我都没选择放弃希望,最终成功调通了接口,拿到了敏感数据,迎来了曙光。这篇文章我将再次还原当初的视角,与大家分享本次的漏洞挖掘经历,分享在上面每一次“绝望”的时候,我做出的一些操作和所用到的技巧,希望和各位师傅们交流学习,共同进步~

测试开始

得到资产之后,是个域名,直接访问一手,于是就来了当头一棒,访问登陆后前端界面如下,鸟都没有,此情此景,一个大大的Welcome看起来好像也没有那么欢迎我。

img

一般遇到这种情况,我的惯用操作就是:前端不行,试试后端接口,抓抓包,看看从登录到进入这个平台的时候,都调用了哪些接口。使用Burp即可

img

然而,看到结果之后心又凉了半截,从登录到进入平台前端,没有任何功能点交互相关的请求,只有两个可信认证类的确认用户身份的接口

img

不过遇到这种情况也能有一些收获,看到接口路由非常规范,可以猜测是spring的后端,那么就可以跑一下敏感路径,看看会不会泄露一些敏感的Actuator端点,有没有api-docs等。当然,结果在大多数情况下是不理想的

img

在这种情况,有两条路,第一个就是顺着这些敏感的接口继续走,目前提示403,可以用一些静态文件后缀尝试能不能bypass,但这个我试了也是失败,所以就启用另一个策略,既然爆破不出敏感路径和接口文档,那就动手去找。

这里也是分享下我找接口的思路:就是从前端js文件中去搜索,具体怎么搜索呢?可以根据已有的接口,也就是上面我们抓包抓到唯二的两个接口,直接F12,全局搜索,搜索上面抓到包的接口,这里不一定直接搜完整的接口名,比如上面有一个接口是“api/user/current-menu-tree”,那么我们可以搜"api/"或者"user"等等,挑选关键词搜就OK了,结果如下:

img

这里也是非常幸运,直接搜索,点进去就发现了大量的接口,这里接口并不是分开的,而是直接写在了一起,这对我们而言就非常有利

img

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

直接复制下来,稍微正则表达式提取一下路径,就可以放到Burp里面跑一下

img

img

但是到现在其实一个问题也显而易见了,我们这样测试只是单纯的GET请求接口,没有携带任何参数,因为我们不知道接口需要什么参数,也不知道具体参数值该传什么,我个人的习惯就是直接发包,先筛选出起码不是403的接口,之后也许能根据接口的报错信息,提示或者回显来判断需要什么参数,进而再进行构造,尝试调通接口,寻找可用信息。

img

Burp跑完之后还是有一些信息,其中HaE已经给我们标出来了,图上就有一个请求返回了手机号的字段,但实际上那个接口没什么危害,返回的都是公开的信息。这些接口中有的提示是200,有的是403,200中还有一些是提示我们请求方式不正确,例如下图:

img

有的请求要求是POST,有的要求是PUT,我们只需要再次发到repeater中单独再次测试即可。测试中,通过接口的名称,发现了一个报错的接口

img

通过报错,可以看到,似乎这个接口没能调通的原因,就是因为缺少一个参数,名称为"tenantId",看到这个报错,心情喜出望外,立马拼接了一手试了一下,虽然tenantId这个id不知道具体填什么,先随便来个,1或者123这种:

img

可以看到,虽然成功了,但是没有卵用,接口调通了,没有数据,那就说明我们的参数tenantId也许是错误的,本来有了一些希望,现在又变成了绝望,就目前的情况我们根本不知道tenantId具体该填什么,此时我也尝试了爆破,但是没有任何效果。

此时心情也是低入谷底,可能有危害的接口,但是不知道参数值,无奈继续尝试其他的接口,希望能找到一些有用的信息,这时候的目标更希望是快速找到个什么接口,能返回tenantld

果不其然,在不懈的努力下,发现之前爆破中的接口,返回了这样一组数据:

img

没错!终于找到tenantld了!赶紧拼接请求一手!

img

终于,成功,拼接这个tenantld后,接口返回了573w用户信息。此时此刻,感觉刚刚付出的一切,都有了结果!

总结

如果光从漏洞类型来看,这其实只是一个简单的未授权漏洞,但实际这个漏洞最难的地方还是从0到1找到这个接口的“路径”,从一开始只是一个空白界面,到最后发现这个接口,每一步都存在挫折和困难。实际挖洞本身就是一件非常困难的事情,我们面对一个也许自己都不知道是干什么的系统,要熟悉他,摸清其中暗含的业务逻辑,往大来讲,安全实际本身就是一件“逆天而行”的事情,在这个过程中我们通过坚持,一步步得到成果,这也许是拿下一个靶标,或许是挖出一个漏洞,但虽然过程很艰辛,当我们成功的时候,内心也会感到无比的喜悦,感激当初那个遇到困难没选择放弃的自己。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
在这里插入图片描述
在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:
在这里插入图片描述
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值