前言
对某企业授权进行渗透测试,在前期的信息搜集中,发现某子域名存在一些漏洞,虽然这个漏洞最后没有利用成功,但觉得挺有意思的,于是记录了下来。
授权对某企业进行渗透测试,在某子域名发现了登录界面,登录界面有三个功能点:
在对用户名登录的功能点进行测试时,发现存在用户名枚举,但是却没有测试出弱口令:
对手机号登录进行测试:
这里对手机号进行枚举,发现13888888888内部服务错误,说明系统应该是存在此账号的。
使用此手机号获取验证码看一下,这里返回包显示成功。
这里换成自己的手机号看一下,手机号可以获取短信,但是却登录不上,这里无疑就是两种方法,要么对短信验证码进行爆破,要么想办法获取目标手机号的验证码,显然这里爆破是行不通的,这里只给了1分钟。
这时突发奇想再添加个手机号看看会不会收到两个验证码。此时发现两个手机号获取到的验证码相同,这不就相当于只要我知道这个系统存在的手机号,就可以直接登录了吗!
此时我使用之前遍历出来的1388888888这个账号去登录,但是却还是显示内部服务错误,我想着是不是这是个测试·账号禁止登录了,想着再去找一些用户的手机号。通过前面的信息搜集发现另一个子域可以获取到手机号。
对用户名进行枚举,枚举出多个用户名及其手机号:
先使用用户名进行登录判断此用户名是否在此系统中,返回账号密码错误可以判断出该用户是存在,使用此用户的手机号进行登录,发现仍然显示内部服务错误,这可就奇怪了,试了好几个账户都是这种情况,最后判断出系统的手机号登录功能处有问题,无法正常登录。
总结
虽然没能登录上去,但是觉得这个渗透测试过程还是挺有趣的,先是发现通过枚举账号发现手机测试账号,紧接着发现验证码相同可以实现任意用户登录,进而去手机该系统存在的手机号,最后在另一个系统的登录界面接口发现了用户的手机号,最后却发现手机号登录功能有问题。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)