只供技术学习交流、请勿用于非法行为、否则后果自负
在进行暴力破解登录框的时候、发现第一个验证码是正常的、后面全部验证码错误、查看302的返回包
尝试直接用上方这个链接爆破、发现此链接可以直接绕过验证码来进行暴力破解。(成功的图当时没保存)
然后顺带讲一下,有时候爆破会遇到多个302跳转BurpSuite有一个设置可以跟随跳转
爆破用户名的位置:登录、注册、忘记密码。如果能注册、在成功登录后修改密码处也有可能可以爆破用户名。
随手输入一波账号和密码、提示用户名或密码错误。你看到这里你以为不能先遍历用户名是否存在、再爆破密码了?这可不一定
当你输入存在的用户名、他居然提示了你输入错误的次数、从而暴露了这个用户名是存在的
有时候他返回包是一个数字然后前端给解析一下返回到页面上、你也可以直接先看一下前端有哪些返回情况、然后快速定位到相对应的JS文件。
例如:下方验证码错误
这里使用的是火狐、查看元素(F12)、调试器、所有文件中查找
把前端提示的内容进行搜索
可以看到 case "-7" 参数、说明是可以用来爆破用户名的
有时候Web端可能需要验证码爆破、但是绕不过验证码、如果有相关APP、不妨试试APP会有惊喜呢
当你爆破出用户名后你要爆破密码而他有这个限制、那么你没辙了吗
总有些开发只是为了防止别人爆破密码设置了这个提示、并不一定直接将这个账号锁定。那么我们只要再设置一个X-Forwarded-For头就可以轻松绕过了
这里推荐一款Burp插件:fakeip
在一次众测中、验证码绕不过、别验证码这验证码识别成本有点高而且众测拼速度、我还是走别的路吧。(这个验证码其实可以搞成拒绝服务众测好像不收我也没提)
重点来了api.php有没有觉得有东西搞了。来我们来爆破了,这回爆破什么呢,爆破参数,这里呢有两种爆破
一种是api.php?m={} 一种是api.php?{}=xx
这是我当时爆破的图我们可以从长度状态码来看这个参数是否存在、而且当我们爆破出如下参数时/ api.php?m =getuserinfo 返回空白页但状态码是200、这时候我们就要想应该是还缺了一个参数于是就出现这样的爆破/ api.php?m =getuserinfo&xxx=1111、因为getuserinfo很明显是一个用户信息的参数此时我们应该是缺少类似userid的标识我们就直接来一个=1111然后爆破xxx成功爆破出followerid参数(成功收获一个信息泄露)
后面我还陆续爆破出多个参数、两处未授权页面
一处反射型XSS
一处越权
再给你们讲一个我一直强调的点,如果遇到一个登录框的测试有说明文档的一定要看、里面有很多东西可能用到,我说几个例子
这是某个后台假如你上来就是一把梭、你爆破不出来的因为用户名不是常规的我们去看一下项目手册
发现一处用户名、一处通用弱口令
看到这个账号3601000039K你想到什么、你去爆破这个账号的密码?我想到的是这账号肯定是有规律的、于是我设置了一个爆破
成功爆破出大量账号、进去后又发现一处越权
在爆破低版本 tomcat 中
账号和密码是base64编码的
设置爆破参数
设置用户名字典
设置 一个 : 分割账号和密码
设置密码字典
设置编码方式
开始爆破
在一次众测的项目中、遇到用户名居然是中文的。在注册处看到了用户名是中介机构名称、但是在点击注册的时候状态码是500、不能注册、只好通过爆破密码这条路了、所以需要先找账号。
然后我就去找百度找xx市xx类型的公司找到一个列表、然后试了多个用户名就找到一个存在的。然后我到找回密码处用此账号找回密码。(其实在原网站就有许多中介名称的账号)
发现4种不同方式的任意用户密码重置(忘记截图了)
删除手机验证码参数
修改返回包
直接进入最后一步
改手机号用我的手机接收验证码
其实产生原因都是没对手机号和验证码做验证、还有一个可以注意的地方、有一些系统我们注册的时候会提升需要什么样的密码强度、是必须要有字母大小写加数字还是必须要有大小写数字特殊字符几位数以上、这种我们可以采用强口令字典、有一些后台并不一定有注册页面、有的话一定要注册进去看看越权啊里面的修改密码啊这种很容易出问题、没有注册页面有时候也能从js里面看到一些修改密码需要密码达到什么强度的js