一文了解暴力破解

WEB漏洞:暴力破解

密码爆破的本质:依赖字典,连续性的,自动化的尝试密码登陆爆破

1)密码爆破思路

方式一:尝试爆破:假设密码长度6,每位有126种可能。那么需要尝试126^6次。

image-20211011220925112

image-20211011221109971

方式二:使用字典

​ 思考:字典从何而来?

 参考泄露出来的最长使用的密码排名前200:
 https://nordpass.com/most-common-passwords-list/
 网络下载密码本
 密码生成器

image-20211011222447807

方式三:使用POC实现爆破

POC实现爆破,python代码实现爆破:

1、读取字典,加载密码
2、发起http连接
3、分析HTTP响应
4、持续自动化爆破

代码:

readpass.py

# -*- coding: utf-8 -*-
# python 3

pwds = open("password.txt")
for pwd in pwds:
    print(pwd)

pwds.close()

httpconn.py

# -*- coding: utf-8 -*-
# python 3

import requests

pwds = open("password.txt")
for pwd in pwds:
    url = "http://localhost/DVWA-master/vulnerabilities/brute/"
    # PHPSESSID务必替换为登录以后的PHPSESSID
    resp = requests.get(url = url, params = {"username":"admin", "password":pwd.strip(), "Login":"Login"}, headers = {"Cookie":"security=low; PHPSESSID=0hhidoi7h1ln7jo9h2h0tgfnn6"})
    #print(resp.text)
    if 'Username and/or password incorrect.' in resp.text:
        print('破解失败:'+pwd, end='')
    else:
        print('破解成功:'+pwd, end='')
        break;
pwds.close()

2) DVWA靶场

环境准备:

下载代码: https://dvwa.co.uk/

配置数据库:修改config/config.inc.php

部署到phpstudy

注意是登录以后才可以使用暴破场景,而不是暴破首页的登录功能

3)暴力破解实现

使用python代码破解DVWA靶场

使用工具BP实现爆破

4)BP的攻击模式

攻击模式一:狙击手

image-20211011231250903

发起爆破:

image-20211011231320361

攻击结果:

image-20211011231632982

攻击模式二:攻城锤Battering ram

image-20211011232151097

image-20211011232217925

攻城锤模式,使用一个字典,两个节点的值一样:

image-20211011232344114

攻击模式三:草叉模式Pitchfork

image-20211011232631140

选择两个字典:

image-20211011232217925

image-20211011232724554

攻击结果:一共发起10次请求,每一次请求使用第一个字典的第一个值和第二个字典的第一个值匹配,依次类推:

image-20211011232844736

攻击模式四:集束炸弹Cluster bomb

image-20211011233054890

使用两个字典:

image-20211011232217925

image-20211011232724554

攻击结果:笛卡尔积,一共发起100次请求,爆破成功:

image-20211011233242799

5)防御

DVWA-medium :sleep两秒

image-20211011234222273

DVWA-high: 随机sleep 0-3秒 , 增加CSRF token(客户端请求伪造token)

image-20211011234311100

BP拦截:

image-20211011234443227

选择草叉模式:

image-20211011234703125

加载第一个字典:

image-20211011234750361

第二个参数,是需要从上一次请求中的token种得到:

设置Options:匹配到前后的正则表达式,那么就是token:

image-20211011235010768

设置payloads:

image-20211011235311678

设置单线程:

image-20211011235430541

爆破结果:

image-20211012000528262

添加提示:

image-20211012000935767

点击Add:

image-20211012001000306

爆破结果:

image-20211012001317632

Dvwa-impossible:

限定次数:输错三次,锁定15分钟

image-20211012001559780

支付宝设置的防御机制:

image-20211012001659334

二次验证加固:

image-20211012001800429

人机识别加固:

image-20211012002012228

image-20211012001858314

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值