Dictionary Attacks and Recovery Exploits
CWE-307, CWE-521, CWE-640, CWE-1391, CWE-294
Real-World Attack Scenarios
Scenario 1: Brute Force - No Rate Limiting
@app.route('/login', methods=['POST'])
def login():
username = request.form['username']
password = request.form['password']
# NO rate limiting!
user = User.query.filter_by(username=username).first()
if user and verify_password(password, user.password):
session['user_id'] = user.id
return redirect('/dashboard')
return "Invalid credentials", 401Scenario 2: Weak Password Policy
Scenario 3: Weak Password Recovery
Scenario 4: Credential Replay Attack
Mitigation Strategies
Last updated