当前位置:首页 > 网络安全 > web渗透 > 正文内容

手机短信验证码渗透测试实战

6个月前 (01-27)542

验证码绕过

一般情况网站或者其它的业务系统在找回密码时都会通过手机号或者邮箱来验证用户身份。但是可悲的是他们在验证的过程中产生了一些逻辑错误。


什么错误呢?大概是这样的,用户输入手机号,点击获取验证码,服务端校验手机号是否正确,正确则返回类似errno=0的参数,不正确则返回类似errno=-1的参数,然后客户端通过js判断服务返回的值,如果返回errno=0,那说明手机号正确,调用发送验证码的服务,否则不调用并提示手机号错误或不存在。这里的错误点就在于不应该由服务端返回errno这个参数再由客户端来验证,应该是服务端验证完手机号后直接做出操作,如果手机号正确则直接调用发送验证码的服务,不正确则直接返回手机号不存在之类的提示。


以下是一次测试记录,已经进行脱敏,如发现敏感信息,请及时联系删除!

找回密码页面

1.png

随便输入一个手机号

2.png

查看响应

这里返回error=-1,这个-1表示手机号不存在,error等于其它值标准其它内容。

3.png

不更换手机号,拦截响应包

回到proxy模块,拦截响应包,我们把-1改成其它值试试

4.png

点了好多下forward,终于看到了errno=-1

5.png

我们把errno=-1改为errno=0,这里的思路就是0代表的是没有错误,验证成功,-1代表手机号不存在

6.png

不停的点forward,又出现errno=-1,再次改为0,同上

7.png

接着就看到了验证码发送成功,这是不是就说明我们可以通过修改error的值来绕过这个系统的判断了呢?,但是我们知道,我们的手机号是接不到验证码的怎么办呢?

8.png

尝试绕过验证码

其实同理,按照我们上面操作继续干就行,随便输入一个验证码,如果响应包中出现errno=-1,我们就改为0

9.png

神奇的一幕出现了,我们的手机号绕过了,验证码也成功绕过。ok点到为止,不敢瞎搞了,咱只是说说思路,也不敢真的修改!

gaitubao_11.png

验证码重放

所谓的验证码重放就是指服务端代码没有严格校验对于验证码发送服务的调用而导致的。这里的逻辑在于客户端点击发送验证码后,浏览器提示60s后重试,但是服务端没有校验同一用户是否在指定时间段内进行多次发送验证码请求。

遇到需要手机号获取验证码的情况,直接浏览器开代理,bp上拦截,把获取验证码的请求拦截,发送到repeater模块,进行重放,看你的手机是否能够收到多个验证码,如果可以说明存在验证码存放漏洞。

输入能接收短信的手机号

10.png

将请求发到repeater模块

将请求包发送到repeater模块,我们多点几次go,看看我们的手机是否会收到相应点击数量的验证码信息,如果收到了说明存在验证码重放漏洞,否则不存在。

gaitubao_15.png

查看收到的信息,发现存在验证码重放漏洞

12.png

扫描二维码推送至手机访问。

版权声明:本文由零零博客发布,如需转载请注明出处。

分享给朋友:

相关文章

web渗透测试是什么

web渗透测试是什么

web一般我们是指网站,渗透的话就是查找漏洞和缺陷拿到权限一步一步往里渗,直到拿到最高权限web渗透测试有两种白盒测试:在知道目标网站源码和其他一些信息的情况下对其进行渗透,有点类似于代码分析黑盒测试...

漏洞挖掘 | 记一次越权登录

漏洞挖掘 | 记一次越权登录

http://xxxxx/index.html?userNo=xxxx可以直接登录学生用户(女朋友给的)fofa收集了一波4个站点。。。,由于没扫到备份,只能黑盒测了然后发现一处接口 杂七杂八测试了下...

渗透测试常用poc,工具集合

渗透测试常用poc,工具集合

IOT Device天翼创维awifi路由器存在多处未授权访问漏洞华为WS331a产品管理页面存在CSRF漏洞CVE-2019-16313 蜂网互联企业级路由器v4.31密码泄露漏洞Web APP致远...

网络渗透方向怎么学呢?

网络渗透方向怎么学呢?

很多朋友问我,想搞网络安全,编程重要吗,选什么语言呢?国内其实正经开设网络安全专业的学校很少,大部分同学是来自计算机科学、网络工程、软件工程专业的,甚至很多非计算机专业自学的。因此不像这三个专业,有系...

文件读取漏洞总结

文件读取漏洞总结

1、一般我拿到一个任意文件读取得先判断权限大不大,如果权限够大的话可以直接先把/etc/sadow读下来,权限不够就读/etc/passwd,先把用户确定下来,方便后续操作2、读取各个用户的.bash...

后台getshell常用技巧总结

后台getshell常用技巧总结

1.利用文件上传漏洞,找文件上传处想办法上传php文件。一些网站在设置可以允许修改上传的文件类型则直接添加php有时候会还有检测是否为php文件,可以通过文件名变形,大小写,双写等形式绕过,只要是黑名...