暴力破解,其实就是利用大量猜测和穷举的方式来尝试获取用户口令的攻击方式,如果身份验证模块设计的不好攻击者可以利用自动化攻击进行暴力破解,大大增加了密码被破解的风险。
暴力破解的测试方法是针对账号和或密码进行逐一比较,直到找到正确的账号和密码。
一般分为三种情况:
账户探测
探测存在与否
指定口令爆破用户名
小工具pydictor值得推荐 一个强大实用的黑客暴力破解字典建立工具
python pydictor.py -base L --len 2 3
https://github.com/LandGrey/pydictor
密码爆破
短信/邮箱验证码爆破
可根据多线程的前提进行多进程处理,0-199999一波;200000-399999一波…(依次类推);也可以看频率,哪块区间分布的概率较高可重点关注;也可以指定前一位或两位进行爆破。
协议口令爆破
a)Fenghuangscan值得推荐,Hydra (Kali自带)值得拥有;
b)Nmap 也可完成部分破解工作,本身是一个基础工具,但script下的脚本能让你做出不基础的事情
c)毕竟直接拿到远控权限事半功倍,可直接获取数据,对于测试来讲还可获取源码,以半审计的方法进行挖掘。
a)第一点提到的一些协议,初具成熟均不公开于互联网(当然意识和测试情况也有),但SMTP 和 VPN 类,大部分都有,也是入侵的概率很大的入口点
b)翻到邮箱,根据信息检索,信息很精准,很有可能获得认证信息
c)获得VPN认证。
a)Redis未授权访问
b)Jenkins未授权访问
c)MongoDB未授权访问
针对http协议的爆破主要分为
有返回特征:有明显的错误提示特征,如当用户登录错误后有错误提示。
无返回特征:没有明显的错误提示,但是可以通过正确的页面大小或者返回的状态码进行判断是否成功
1. 登录界面暴力破解,哪些加固方法?
i.单位时间内超过额定请求次数,封帐号&封IP段时间
ii.支持逆向思路
i.验证码自身的安全性参考下一个问题
i.强制要求用户注册时满足口令复杂度要求
ii.定期检索数据库弱口令帐号的存在,可比对top500的密文值
2. 图形验证码自身常见的加固方法?
1)字体扭曲
2)字体粘连
3)字体镂空
4)字体混用
5)主体干扰线
6)背景色干扰
7)背景字母干扰
8)公式验证码
9)加减法验证码
10)逻辑验证码
3. 安全登录流程设计?
注:这种登录流程对于数据包重放来讲的确有效,但对于正常的selenium浏览器输入爆破仍需要结合阈值和验证码来防御。
4.针对验证码可多次重用的加固方法?
操作一 面向WEB登录的暴力破解(tomcat登录爆破)
漏洞分析
漏洞验证利用
设置页面
信息页面
信息页面也可以理解为扫描结果输出页面。
拓展知识
开启tomcat WEB访问日志便于监控系统是否被恶意暴力破解。具体的操作如下:
将图中第141-142行内容取消注释即可。
操作二 针对带验证码的暴力破解(74cms 3.5.1爆破)
漏洞分析
漏洞验证利用
操作三 BurpSuite破解一句话
概述
我们发现了之前的疑似一句话木马,但是我们还不知道一句话的密码是什么,无法用工具进行连接,本篇文章,我们利用burpsuite对一句话木马进行暴力破解。
暴力破解
eval可用于执行任意的php代码,中国菜刀是通过POST的方式来提交命令,来达到列目录操作文件等的目。
我们是不是可以构造一句代码用post的方式提交,来获取一个返回呢?
我们利用火狐浏览器的Hackbar,构造post数据pass=echo ‘OK’;
pass是一句话的木马密码,如果此代码为真,浏览器就会返回OK的字样,我们就用这个原理进行暴力破解
我们在火狐中发送数据,用burp进行截取
右键把数据包发送到Intruder模块,选中pass这个参数,点击add,把他添加到自定义的参数当中
加载burp自带的密码字典
点击start开始爆破
破解我们点击Length让他排序下,看看有没有同的页面长度,我们可以看到password这个值的长度为194与其他值不同这个应该就是一句话的密码了。
验证
爆破万密码我们验证一下
首先是我们构造的数据,可以看到,密码为password时成功打印了OK字样
我们再用中国菜刀进行进一步验证。
成功连接
操作四Burp暴力破解操作
漏洞分析
Phpmyadmin在登录的过程中会将用户登录错误的信息进行返回,可以根据返回的页面大小进行判定是否破解成功
暴力破解
通过浏览器访问http://www.test.com/phpmyadmin/查看phpmyadmin页面,在暴力破解之前确保URL后面是没有任何参数的,如果有删除重新刷新页面并将浏览器的历史记录清除即可。然后随机输入一下账户和密码,点击执行,即可在burpsuite上抓到请求数据包。
将请求数据发送到“intruder”选项中:
切换到“intruder”下后,选择“positions”,通过“clear”将被添加了变量形式的数据还原,然后通过“add”选项将“pma_password”添加为变量形式。
在“Positions”下我们选择“Attack type”为第四项即可“Cluster bomb”
接下来切换到“Payloads”选项。
默认“Payload Sets”的选择,然后依次在“Paylaod Options”à“Load”中加载上我们准备用来暴力破解的密码字典,因为我们需要暴力破解的是两个变量参数,所以需要在“Payload Sets”中设置加载两份字典
接下来设置返回的暴力破解返回值长度是否有序,也就是长度值在True或者False的时候返回的是否是有规律的。我们依次选择“Intruder”à“Options”下的“Redirections”,默认选项为“never”。这里我们勾选为“Always”,并且将下面的“Process cookies in redirections”也勾选完成即可。
加载好评字典后最后依次点击“Intruder”à“Start attack”开始暴力破解即可。
然后根据字节长度的变化查找暴力破解成功的账户即可。我们可以看到在账号密码错误的时候返回值都是一样的,而正确的返回值则是有别于其他的长度值的。
遍历漏洞常见的有两种:目录遍历和路径遍历。一般来讲目录遍历是因为服务配置不当造成的;而路径遍历多是因为代码控制不严导致可跨目录读取。
一是因为服务其配置不当导致的目录遍历漏洞,通常在IIS服务和Apache服务中比较常见。例如当IIS开启了“浏览目录”功能时,会导致目录遍历;Apache则是因为Apache配置文件httpd.conf,把
二是程序没有充分过滤用户输入的../之类的目录跳转符,导致用户可以通过提交目录跳转来遍历服务器上的任意文件。使用多个..符号,不断向上跳转,最终停留在根/,通过绝对路径去读取任意文件。
操作一 基于服务器配置不当
漏洞分析
漏洞验证利用
访问靶场环境,发现可以进行目录遍历,且可以在网站路下任意切换目录。
操作二 基于代码缺陷
漏洞分析
漏洞验证利用
http://localhost/[PATH]/Programs/gallery/admin/jQueryFileUploadmaster/server/php/index.php?path=../../
随着互联网的快速发展,在线支付业务的日渐成熟,大批的网上商城涌入互联网.为了方
便网上商城的快速上线,很多该类型的应用程序在未能严格审查源码的情况下就开始上线,导致很多逻辑错误类型的漏洞出现在应用程序中,而密码重置漏洞便是其中的一种。
漏洞位置在找回密码处,由于验证设计过于简单,而且对校验码的校验使用次数没有
进行限制,导致正确的验证码可以被枚举爆破,从而重置密码。此方法也是最常见的重置密
码的方式,因为大多数厂商最开始的设置都是采取的 4-6 位纯数字验证码的验证方式,而且是没有防止爆破的设计。
当然除了上述的由于验证不严格导致的密码重置案例,还有诸如:敏感信息泄露(把明
文密码通过 e-mail 发送给用户)重置密码消息劫持(攻击会者接收到密码重置信息)这些都是在密码重置功能中比较常见的漏洞
相关参考:任意用户密码重置的10种姿势 | 阿德马Web安全
操作二 Metinfo 5.3.19管理员密码重置漏洞
环境准备
漏洞分析
admin/admin/getpassword.php
include/common.inc.php
include/jmail.php
include/export.func.php
漏洞验证利用
nc -lvvp 80
POST /admin/admin/getpassword.php?met_host=IP地址 HTTP/1.1
操作三 zzcms 8.2前台密码重置漏洞
环境准备
漏洞分析
ajax/ajax/yzm_check_ajax.php
漏洞验证利用
下一步一定要快,在出现下方红色的警告前,点击下一步,可绕过验证,进入到重置密码界面。
https://pino-hd.github.io/2018/06/19/zzcms8-2%E4%BB%BB%E6%84%8F%E7%94%A8%E6%88%B7%E5%AF%86%E7%A0%81%E9%87%8D%E7%BD%AE/
https://bbs.ichunqiu.com/thread-35237-1-1.html