前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从挖掘任意用户注册学习BurpSuite

从挖掘任意用户注册学习BurpSuite

作者头像
C4rpeDime
发布2020-01-20 10:58:22
1K1
发布2020-01-20 10:58:22
举报
文章被收录于专栏:黑白安全黑白安全

任意用户注册

通过抓包发现,某网站存在设计缺陷,将用户注册验证码或者密码找回的验证码下发到了客户端。如下图

从挖掘任意用户注册学习BurpSuite
从挖掘任意用户注册学习BurpSuite

此时,拿到验证码正当我兴高采烈的去注册这个土豪手机号的时候,系统提示我验证码错误。根据我多年的挖洞(吹牛)经验我觉得问题出在我将服务器返回的验证码通过burpsuite拦截以后并未将这段json数据返回给ajax(网页异步刷新)。查看前端代码发现确是如此。

从挖掘任意用户注册学习BurpSuite
从挖掘任意用户注册学习BurpSuite

那么问题就来了,如果直接使用Forward的话我们的json数据确实是传给了前端,但是如何拦截并且查看它的验证码?@xz小妹妹给我了一种方法就是在Proxy的options里面有一个replace的功能,它可以匹配到我们设置好的正则表达式然后去替换。因为burp我没有发现可以直接在response增加语句的功能,所以暂且使用这种方法。

从挖掘任意用户注册学习BurpSuite
从挖掘任意用户注册学习BurpSuite

这个功能还是很强大的,以前竟然没发现- - 针对这个漏洞,这里我们只需要将服务器返回的reponse中的关键代码给替换了,使其从response获取到json的内容,并且通过操纵dom数,输出验证码到指定位置。通过观察代码,我们只需要如下设置: 匹配Response body模块,然后:

Match: json['mobileCode']

Replace: json['mobileCode']); document.getElementsByClassName('btn-set-code')[0].textContent = json['mobileCode'];//

这样一来,就使验证码直接输出到了前端。效果见下图。

从挖掘任意用户注册学习BurpSuite
从挖掘任意用户注册学习BurpSuite

可以看到更改后的代码

从挖掘任意用户注册学习BurpSuite
从挖掘任意用户注册学习BurpSuite

任意用户密码重置

在挖到任意用户注册以后,本能的去看了下它的找回密码功能,是通过获取验证码来重置的,不出我所料,这个点也是把验证码下发到了客户端。

从挖掘任意用户注册学习BurpSuite
从挖掘任意用户注册学习BurpSuite

但是让我奇怪的是这里它的一行关键代码竟然加了注释符号。不过无关紧要,我们照样使用这种方法,最终将验证码输出到前端以便于我们利用。

Match://$

Replace:$("#mobilecode").val(json['mobileCode']);document.getElementsByClassName('btn-set-code2')[0].textContent = json['mobileCode'];//

最终效果如下

从挖掘任意用户注册学习BurpSuite
从挖掘任意用户注册学习BurpSuite

后面成功重置密码XD

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-02-016,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 任意用户注册
  • 任意用户密码重置
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档