我们在网站登录界面,为了安全起见,除了填写用户名和密码之外,还会要求用户输入验证码才能进行登录,验证码的作用最主要的是验证输入方是一个在电脑前正在输入的人,而不是某些程序模拟人的登录操作,这样就能有效地避免网站被攻击者进行暴力破解,从而非法获得网站的登录权限,验证码的种类也是多种多样的,其中我们常见的验证码就是图片验证码,验证码上的内容包括数字、字母、数字字母混合、汉字、算式等,这些字符往往都不太清晰,主要是为了增加识别难度,避免被软件自动识别。
验证码
有些人经常会吐槽某些网站的验证码,连输入者都看不清,需要输入多次才可以成功,其实使用这样的验证码的网站,往往是非常注重网络安全的,并且是提供非常重要服务的网站,其中最具代表性的就是12306网站上购买火车票是需要输入的验证码,曾经受到许多网友的吐槽,充分体现了一句话:“能够多次欺骗购票者的验证码,才是最安全的验证码。”
奇葩验证码
今天我们就来介绍一款验证码识别工具Pkav HTTP Fuzzer,来了解一下如何使用工具来自动识别验证码,从而对需要验证码的登录界面进行暴力破解,进而也认识一下那些使用所谓“奇葩”验证码的网站进行登录验证的苦衷,首先我们打开这款工具,非常有意思,它的功能按钮在最下方,我们选择“验证码识别”,然后选择图片型,如下图所示:
Pkav HTTP Fuzzer
下面我们拿一个网站的登录界面来演示一下这款工具的使用方法,首先是验证码地址,其实就是验证码图片的URL地址,当我们点击验证码图片时,验证码会刷新,我们选择右键单击验证码图片,选择属性点击,如下图所示:
验证码图片属性
就会弹出一个属性对话框,其中有一个地址(URL),就是这个验证码的地址。
属性对话框
识别模式选择“单个文本统一块”,在选择识别范围之前我们可以多点击几次验证码图片,判断一下验证码的大概类型,这个登录界面验证码的组成为数字字母的混合形式,我们就可以限定为以下字符为:“0123456789abcdefghijklmnopqrstuvwxyz”,因前边选择了“自带识别引擎”,所以“第三方识别引擎”不选择,当然我们也可以选择自己的识别库,然后选择识别测试,我们发现登录界面的验证码图片已经发送到验证码图片栏中,旁边获取到的验证码为:xatf,获取成功。
识别成功
这时我们就可以点击下方的“变体设置”,来设置变体,其中分析地址就是我们上图的登录界面地址,请求包就是我们用burp suite工具抓取的登录数据包,可以查看我的《抓包工具Burp Suite的安装与设置》一文,学习如何安装burp suite和抓取请求数据包,我们将最下边的POST数据中的验证码和密码数据分别打上“添加验证码标记”和“添加标记”,右边我们可以点击“请加载一个外部字典”选择一个密码字典,就会出现在旁边框里边,到这里我们的变体就设置好了,如下图所示:
设置变体
然后再点击下方的“重放选项”,这里我们只需要注意两点,一是验证码长度验证设置,我们知道验证码是4位长度,所以我们设置为固定值4,当我们输入验证码错误时,网站会弹窗提示“验证码错误!”,这时就代表我们识别错误了,必须重新识别,我们选择“字符串匹配”,添加弹出的“验证码错误!”当出现验证码识别错误提示时,就会重新验证发送直到成功。
重放选项
最后一步就是“发包器”了,点击启动按钮,就会自动识别验证码,进行暴力破解,这里我就不启动了,因为是真实的站点,成功与否取决于密码字典的强大,而且我输入的用户名也是自己编的,大概率是没有这个用户名的,所以是不会破解成功的,要想查看破解成功的密码,只要看请求结果中的“长度”信息,与大部分结果都不一样的那一条大概率就是真正的密码了,如下图所示:
发包器
以上就是我们验证码自动识别工具的使用及结合burp suite工具进行网站登录界面暴力破解密码的全部内容,对Pkav HTTP Fuzzer这款工具有兴趣的可以在评论区评论“验证码”,我会将这款工具分享给大家,再次提醒大家,大家获得了工具不要做违法的事,我们的目的是为了提高大家的网络安全技术,有违底线的事情大家还是及时停止,欢迎关注@科技兴了解更多科技尤其是网络安全方面的资讯和知识。