前言
在我们做渗透测试的过程中,经常会遇到开局一个登录框的经典开局。常见的进入后台测试方法,不外乎弱口令、SQL注入和万能密码这些(越权、逻辑漏洞等不在此次范围内),其中后面这两个现在几乎绝迹了,也就剩下弱口令在众多实际测试中和一些文章中看到的突破点,这个突破点有两个主要因素,第一个就是账号,第二个就是密码。本文主要介绍第一因素-账号,下面进行详细的介绍。
正文
场景
常见WEB系统登录账号分为手机号、姓名或字母数字组合,本文介绍第一种,手机号,也是应用比较广泛的一种。选择手机号作为爆破的时候在不考虑验证码、错误次数这些的前提下,如何快速爆破出存在的手机号,就考验你的字典或者信息收集能力,比如系统的公告或者其他地方存在联系方式即手机号,那么就可以根据归属地进行有规律的生成,这个在GitHub也有现成的,其次就是系统遗留的开发测试手机号,这类我自己以及看过的文章中是出现次数最多的!
如何生成一个符合开发测试习惯的手机号
以我的拙见及经验来看,常见的测试手机号码有以下几种模式的组合:
前三位
- 第一位是固定的 1
- 第二位多为 3-9 中的任意一位数字
- 第三位为 0-9 中任意一位数字
后八位
- AAAAAAAA(8位相同数字)
- AAAABBBB(前4位和后4位为两种不同数字)
- ABCDABCD(每4位数字为连续数字)
- 前7位相同,最后1位不同
最终11位手机号由以上组合可以得到 13790 条符合测试弱口令的手机号码.比GitHub上一些字典仓库的测试手机号两三百更加丰富。
以上的python脚本和对应的字典也以及上传到GitHub仓库 https://github.com/Mr-xn/SuperWordlist
最后介绍下我制作的在线版本,https://mrxn.net/generate_telnumbers.html ,相较于python版本,可以自定义第二三位数字,通过此网页,可以一键生成你想要的11位手机号码组合,同时支持一键复制和一键下载,你也可以另存网页到本地进行使用。
简单介绍使用方法:
默认生成全部类型组合
打开网页,点击“生成数字”按钮,即可生成符合规则的11位数字。默认情况下,第二位和第三位数字是从可能的范围内随机选择的。
选择特定数字
使用下拉菜单选择特定的第二位和第三位数字,然后点击“生成数字”按钮,生成的数字将符合您的选择。
最后
当然也不排除漏掉的组合类型,欢迎留言反馈或者提 issues,后续如果有新的组合也会在此 https://mrxn.net/generate_telnumbers.html 和 GitHub同步更新.
更新记录
2024-08-08: 后八位增加 abcabccc 类型,它有 70 种组合,默认生成,一共有 70560 种组合
2024-07-20: 后八位增加 aaabbbcc 类型,它有 56700 种组合,默认不生成,一共有 70490 种组合