完整的渗透测试实战纪实,低危漏洞组合成高危利用!

Posted 程序员启航

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了完整的渗透测试实战纪实,低危漏洞组合成高危利用!相关的知识,希望对你有一定的参考价值。

0x00一份好的报告标题也很重要哦

PS:原谅下图重码,此漏洞还没修复
报告详情 漏洞标题某国内大厂招聘系统测试 漏洞url*

0x01本次渗透流程


我们一步一步来,
首先我们从忘记密码那里开始,这里的验证码可以绕过
我们可以输入用户名来批量爆破存在的用户


因为它这里的数据包是没有验证码的参数的,直接拿top 500姓名来跑

248 — 存在
272 — 不存在
367 —{“code”:{“code”:”0005”,”msgId”:”**“,”msg”:”该用户名/手机号/邮箱关联多个账号,请尝试使用其它方式登录,或联系管理员获得帮助”},”bo”:null,”other”:null}
然后随便输入一个存在的先拿
返回长度367 看看
zhangjian


直接出来了部分手机号。然后记一下


邮箱也出来了,然后我还是
通过忘记密码输入账号这一处爆破出该账号对应的手机号


Zhangjian 手机号136**5670 然后邮箱也是一样的爆破方法
就不再演示了
就这样就能把它大部分的注册用户的 信息爆破出来
因为是校招网站,所以用户名大多数都是直接姓名就行了
这里的手机号是最关键的!!!
后期我来详细说明一下
然后我们来看一下 返回长度为 248的
用户名 为 wangfang


然后出来了部分邮箱和手机
176**
Wang**@163.com
手机号还是那么爆破,邮箱wangfang*
去爆破那一位的字母就行了26位很好爆破如下图所示


Wangfang**@163.com 手机号按照之前的流程就行
这样 我就可以把返回包长度是248 和 367 的手机号+邮箱+用户名全部爆破出来

以上就是忘记密码处的逻辑漏洞
通过对用户名的爆破出来了部分信息,再去通过部分打码手机号和邮箱爆破出来完整的手机号和邮箱

然后让我们回到登录界面,它这里登陆是没有验证码的
所以,我们就可以嘿嘿,爆它!


PS 它这里输入用户名 ,如果关联多个账号返回包的信息
就会返回多个账号的手机号信息,我们又可以爆破一波嘿嘿


当然当然回归正题


直接拿姓名 + 姓名123456 先去跑一波
看返回长度是6开头的,返回包全是信息啊,手机号,我们就可以通过忘记密码那里拿到完整的手机号,或者登陆那里也行


不过先不要在意,有个7开头的让我们看看


休息中,岂不是查看不了!!!


要获取验证码,,,,不过怕,我还有办法
这里登陆我测试的账号


蹬蹬,出来信息啦
让我来解释一下,怎么出来的信息
首先我们的返回包
{“code”:{“code”:”0003”,”msgId”:”ucs.status.dormant”,”msg”:”该账号休眠中”},”bo”:{“accountId”:”A0382861720879284224”,”userId”:”U0382861720879284224”,”userType”:”0”,”subjectId”:”S0382861720879284224”,”userName”:”*un”,”token”:”c5303F2732af4f389982681523383Bbc2079BF75214b48f1bA97ffb351Da915f”,”refreshToken”:”d84e92dfd2917f3dd3d23d9611087ffd”,”startVaildTime”:”2020-04-05 19:49:44”,”failureCycle”:3600},”other”:null}
这么多信息,不利用一下可惜了
我发现它里面判断用户的信息是token的值,这里登陆返回了token的值
所以我就可以,下图是我测试账号的包


是我点击用户设置这里抓的包
然后我们需要做一些替换
就是把 这个是用户的账号值,替换成如下这个
A0382861720879284224
然后把token也换了,变成如下图所示


就能成功读到信息啦。
这样我们就不用登录也行
信息全部读出来了,这是我爆破密码出来的结果,

然后它验证码这里也能爆破不过结果有限,
因为没限制错误次数,限制了时间
但是我也能试试
这里重点!!!,这就是说为什么我说手机号很重要了,
不过还是等一会再说
先爆破这里的
跟它赌!


Zhanglei 的账号
然后发送到邮箱里,要动静小一点
为什么要说赌
因为它这里的限制是时间限制,而我们有限的时间顶多能爆破 800000-900000 也就是100000个验证码,
所以就是赌!,不断的去爆破
我的思路就是
定了一个区间,然后不断去爆破这个区间的比如说700000-800000 这个区间,不断的发送验证码
不断的去爆破这个区间的验证码


这里的包很方便,我们验证码只要对了,密码直接重置为 zkaq123456

惊喜来了!!!!!!!!!!!!!!!!
渗透果然需要运气,
看!!!我成功验证了我的想法,这个账号可不是我自己创建的哦。。。
定了区间我去跑成功跑出来了!,把密码重置成zkaq123456了


登录上去看看,成功!


证明了我的攻击想法可行!
而且我们完全可以批量搞啊
因为我们开头那一步,可以批量获取存在的用户名
然后进入到如下图这一步。
发送验证码抓包,开始爆破。然后继续回去
输入其他用户名,抓包开始爆破


这样的不断循环,可以达到任意用户密码重置的效果
缺点就是有点麻烦,但是能对这个网站造成极大的危害!
因为你简历的部分信息泄露了 啊
验证想法,没敢太多线程,怕造成不利影响


只是验证我的攻击手法可行
可以看见我定的区间都是700000-800000
然后我们就可以发送验证码不用管了
有效时间是 10分钟

还有一处漏洞也比较严重
我给它取名为,无限 的 邮箱+手机 短信轰炸
没有错!因为这里我达不到一分钟炸它 15+
但是! 我可以一直炸它留的联系方式,也就是邮箱+短信。可以炸 一天
下面让小弟来解释一下攻击流程
首先让我们输入一下账号


然后到达这一步,然后点击获取动态码
会显示如下图这样


已经发送了。然后我们刷新页面再进去
刷新页面回到这一步


再输入账号进去


这样就能再次发送短信验证码了
发个很多次,会出现如下图所示的情况


怎么办???
不不慌
手机号炸不了,还有邮箱啊
再次刷新页面重新进入
然后如下图所示
点击邮箱发送验证码,如下图成功发送,
然后让我们开始炸邮箱


当邮箱也出现下图这种情况
怎么办


不慌!!!!!!!!!!

哈哈哈哈哈,让我们再回来炸手机
轰炸成功,如下图所示
嘻嘻,这里就是形成了一个完美的闭合,限制就是服务器开小差
解决方法就是炸完手机,炸邮箱


攻击结果如下图所示,


这里的登录界面动态码也能配合我们,同样是刷新就会可以重新发送验证码了。

缺点就是一分钟只能5+次,然后服务器开小差但是优点是
我可以同时炸单个邮箱和手机,而且可以无限炸
上图就是证明,我的轰炸是有效果的,成功的发送了验证码
因为我觉得如果能无限发,让他一直收到验证码,效果不亚于短信轰炸,而且这一处也是漏洞
通过刷新绕过了短信验证码的限制

0x02本次渗透遇到的问题

这次渗透,其实好多漏洞你会发现都是一些无关紧要的,比如打码手机号,获取验证码
还有一些存在的用户名,如果你去单纯提交这些漏洞很可能是低危或者被忽略,这怎么能行呢
毕竟是我们辛辛苦苦挖的啊,所以这时候你要去思考,如何变废为包,网上大把的有低危xss结合漏洞然后变成高危的
其实逻辑也可以这么玩,用逻辑打组合拳危害更高哦。要学会把无关紧要的洞串联起来,所谓渗透测试的本质就是信息收集
如果当你拿到了人家的账号列表,或者手机号,那么这算不算就是一种信息呢,既然你把信息拿到了,为什么就不去深入一下呢
利用这些信息,接着去打。有时候拿到的信息要学会整理,在这个测试之前,我拿到了这些信息之后,熟悉了这个系统的功能,然后我就去思考
我利用手头的东西能做些什么,我可以利用它去获取那些能危害到用户的东西。一次完整的渗透测试,这一切都是必不可少的,尤其是挖src
你想挖一些严重的洞,就要学会将手头的信息危害最大化,这样才能变废为宝
以上均上小菜鸡一些个人感悟,仅供采纳哦!!!

0x03总结一下

所有漏洞
登录界面可批量爆破统一密码
而且有6次机会,输入次数过多 就gg


所以我通过,用户名 用户名+123456去爆破 ,去遍历用户名就不会被封
而且成功在top500爆破出一个有效账号,我还可以去换密码爆破,但是证明漏洞即可不深入了
(我还有个10w用户的密码字典没去爆破,点到为止)
漏洞二
在忘记密码那里,通过用户名,去获取所有有效 用户名的打码邮箱+手机号
然后根据忘记密码的功能,去获取完整的用户邮箱+手机号
我能批量拿到很多,但遵守规则点到为止
手机号能获取到很多有效的手机号
漏洞三
可以批量重置用户的密码,这里说明一下为了证明我的攻击想法有效,所以才重置了一个用户
这里是它的验证码只有时间限制,没有错误次数限制,所以我通过爆破一个固定区间的验证码,成功重置了一个用户的密码。
因为光提出假设,是不会过审的,唯有实践出来结果才行。
然后我可以批量重置密码,就是批量去跑账号,但是点到为止叭,毕竟改密码不是啥小事情
漏洞4
通过刷新,绕过发送验证码的限制,并且达到对用户的邮箱+手机无限发送验证码的攻击
然后结合漏洞三 获取很多手机号,就可以达到大规模骚扰的地步

5.


然后这里有个洞还可以结合一下
最终能达到任意用户密码重置!!!!!!!!!!

因为我是可以批量发送验证码给用户
然后只要这个区间没有,接着发,发到有为止,10分钟一次。跑个几次总有验证码到达我们这个区间的
具体就不实践了,上图我已经验证了这个方法的可行性
因为我们可以批量发送验证码,我可以给用户的邮箱+手机一直发
然后我的验证码又可以一直爆
所以发送一个等10分钟,没结果再发,或许我们可以缩短区间,因为它验证码是随机的嘛
等5分,没有就接着发,一直发到成功爆破改掉密码为止
上图的爆破验证码的截图+加一直发送验证码的截图 能证明我这个攻击的可行性
希望重视!,因为这样的话,如果给我授权,我能把手头上有效的用户,全部密码重置了
很简单,跑验证码就完事了,反正可以批量

(然后泄露用户的邮箱+手机号
我觉得很严重,毕竟是招聘网站,一旦泄露了,就可以伪造面试,就可以进行诈骗,获取信息等操作啊,还可以发送钓鱼邮件啊毕竟知道你在这里注册过账号)
汇报完毕!

以上是关于完整的渗透测试实战纪实,低危漏洞组合成高危利用!的主要内容,如果未能解决你的问题,请参考以下文章

Web渗透测试—Web漏洞

渗 透测试服务 网站渗 透真的难吗?

一个完整的渗透测试流程,分为那几块,每一块都有哪些内容

安全测试 服务器安全 渗透测试 常规服务器安全漏洞 高危端口暴露弱口令密码暴力破解服务器提权Mysql数据库提权等 浅谈《社会工程学》实战案例

web安全|渗透测试|网络安全11天

一个完整挖洞/src漏洞实战流程【渗透测试】