会涉及到这三个内容
验证会涉及到,暴力测试,绕过测试
找回会涉及到,客户端回显,respponse状态值,找回流程绕过
接口会涉及到,调用便利
找回就像是忘记密码那种,然后会有验证,手机号验证或者邮箱验证,但这个过程在可能会有逻辑安全问题,就可能会绕过。
接口,有支付接口,短信发送接口,邮箱发送接口,其他的各种各样的,如果没有验证,就可以随便调用,导致我们经常短信,来电轰炸,就是接口调用问题。
#找回重置机制
绑定什么,或者找回密码,会涉及到验证码,通过验证码判断是否是这个账户的主人,相关验证出现问题,就会出现逻辑上的问题。
我们就可以用这几个方法来实现绕过,
1.客户端回显:验证码可以在客户端浏览器或者数据包里面可以看到验证码
2.response状态值:以回复的这个状态值判断验证码是否正确,所以更改这个状态值,改为成功的状态指,绕过。
3.验证码爆破:发送的验证码是纯数字四位或者六位,通过爆破短时间就可以获得验证码,根据应用情况决定的。
4.找回流程绕过:比如说找回密码,输入正确的验证码之后就会跳到第三个页面,重置密码,先用正常用户去看一下重置页面的地址和数据包,再换一个不知道验证码手机号去找回,直接跳过这一步,数据不截获丢弃到,直接用浏览器去请求第三部,重置密码页面,直接跳过了验证码验证过程。
#接口调用,短信轰炸,来电轰炸,
##墨者靶场密码重置-验证码套用-靶场
打开墨者靶场
自己账户就是可以重置的,但这是自己的,不是目标手机号,只需要把手机号换成目标手机号就可以了
这个漏洞点在哪。实战情况下第一个页面是让输入手机号和验证码,才能进入下一个页面重置密码,而这个靶场它没有,他直接都写在一起,这个网站就会接受手机号然后重置它,它重置的免密有一个条件,重置谁的就会以手机号的填写值为准,所以我们先用自己手机号搞一个验证码正确,再把手机号换成目标手机号,就会重置目标手机号密码,实现了绕过。(老师这里修改补充不成功)
因为这里要在数据包里面修改为目标手机号。
##手机邮箱验证码逻辑-客户端回显-实例
打开验证
发送验证码之后看一下网页的数据包
551407就是验证码,验证码会联通数据包,直接从数据包发送,就可以直接看到验证码,就不需要用邮箱接受,客户端回显,直接在数据包去看。
老师自己本地搭建的网站
绑定手机号这里的验证码,点击发送验证码抓一下数据包
数据包里面的重要信息
这个也是客户端回显,验证码直接在数据包里面就有显示,
这里换一个手机号,然后点击保存,抓住数据包
在数据包里面修改验证码和它回显的正确的验证码一样
然后发数据包,看结果
这种也是客户端回显。
这个网站还有一个状态码的漏洞,随便输入一个错误的验证码,然后抓住数据包
发送到重发器看一下他的回显,回显里面有个3,3对应的错误
在搞一个正确的看看,状态1返回的1
这个就相当于回显值,会返回给你浏览器,这个就存在一个是在我本地验证,还是对方服务器接受的值作为验证,在那一边验证的问题,如果以我的本地为准,修改为状态值就有效;如果以对方的接受值为准,就无效。
主要看网站以谁为准,取我的本地验证状态,就有这个漏洞。如果是对方服务器接受值就没有。
如何更改这个回显值
随便输入个验证码,保存的时候抓住数据包
然后右键,点箭头指的
抓取回复数据包,选择之后回复的数据包也会抓取,之后发送数据包就会看到状态码3
把这个3改成1之后发送出去。
这个要确定对方是以我的本地验证的才可以成功。
##某APP短信轰炸接口乱用-实例接口调用发包
打开app,然后个人中心修改密码,需要用到手机号的验证码,随便写一个验证码
然后点下一步,抓取一下数据包,再发到重发器看一下错误的回显结果
在输入正常验证码,再看一下真实验证码的回显状态
现在我们知道真实的回显状态是什么样的。
然后再重新一下,随便输入一个错误数据包,抓住,再打开那个接受回显数据包,到会先数据包那一步,修改状态码
放出去之后,直接来到了重置密码这里
绕过成功了。
还有一种绕过方式,用口头解释一下,没有演示案列
这种先把三个的数据包都抓一下,第一个数据到第二个数据的时候,然后用工具把第二个数据包丢弃掉,换成发送第三个的, 浏览器会受到工具的控制,直接加载第三个界面,这种也是流程问题。