目录
任意账号注册
未验证邮箱/手机号
批量注册
个人信息伪造
前端验证审核绕过
邮箱/手机号注册激活验证绕过
用户名覆盖
任意账号注册
未验证邮箱/手机号
未验证邮箱/手机号,目前很多应用为了方便用户记录自己的用户名与密码,都可以使用邮箱跟手机号作为登录用户名,因此很多应用在注册的时候就要求用户填写,一般情况下该应用都会发送激活信息,用户在收到激活信息后才能登录。然而有时候开发人员并不去审核邮箱/手机号是否有效,所以可以利用该缺陷,任意注册账号。我们可以通过抓取数据包,不断的将邮箱/手机号加一加一去爆破,这样如果线程够多,很可能能撑爆网站的数据库。
批量注册
脚本批量注册造成服务器 dos 应用层攻击,影响网站的正常使用,通常由于上边无验证码 或者验证码不安全导致可以写脚本来批量注册,以某站为例,注册页面如下,并无验证码验证,可以使用 burpsuite 批量注册
成功注册 burpsuite 中返回包如下
直接bp开始重发(实战中注意,只要验证存在该漏洞即可,不需要跑完)
随便开始验证
个人信息伪造
若出现身份证信息注册,可任意构造绕过身份证与姓名任意填写
前端验证审核绕过
任意填写注册信息,服务端对注册信息进行审核,例如是否存在恶意标签等恶意信息
但是通过返回状态值给前端判断,一旦篡改该值就有可能绕过第一步,使用正常账号修改密码,获取验证码通过时服务器返回数据,保
存该信息
第二步,使用 burpsuite 或 fiddle,之后点击确定,服务器会返回验证码错误之类的信息,
使用正确的信息例如{"MessageHeader":{"MessageID":"RSP036" ,"Description":"成功!"}}进行替换后再执行,注册成功。
具体测试方法和验证码的前端验证同理,这里不再赘述
邮箱/手机号注册激活验证绕过
为防止恶意用户任意注册账户,大多数网站会在用户注册中输入邮箱/手机号后对其真实性进行验证
,但是有时候返回的验证信息会直接隐藏在返回包中,只是不在前端显示出来, 或者是可以通过抓包改包手机号/邮箱,伪造该信息,劫持
到验证信息
以某验证信息返回为例,该漏洞是在发送验证信息时会将验证信息同时发送到返回包中并将其在前端用 hidden 属性隐藏其值,
所以直接前端源代码查看即可。
用户名覆盖
渗透测试中,某些不严谨的开发人员,对于注册时,当输入用户名时不会对之前数据库中存在的用户名进行检查,判断是否存在 。
登录查看时却获取到数据库中同名用户的其他用户信息,导致其他用户信息泄露,或者由于验证用户名存在时,从前端获取到的数据与从数据库获取到的数据不同,但是往数据库中写入的时候却写了相同的部分。
而登陆时,当检测到是管理员用户名就给与管理权限。