TDCTF Academy Logo TDCTF ACADEMY

Int 9: Cryptographic Failures - OWASP A02:2021

Target: Mengidentifikasi dan mengeksploitasi kelemahan kriptografi di aplikasi nyata
Tools: python3


Praktikum

cd ~ && mkdir crypto-int9 && cd crypto-int9

python3 << 'PYEOF'
# OWASP A02:2021 - Cryptographic Failures
# Contoh nyata kelemahan kriptografi di aplikasi

print("=== BAD CRYPTO - DON'T DO THIS! ==*")
print()

# BAD #1: Hardcoded encryption key
print("❌ BAD: Hardcoded encryption key")
print(' KEY = "SuperSecretKey123" # hardcoded!')
print(" → Attacker bisa baca source code → decrypt semua data!")
print()

# BAD #2: ECB mode (elephant pattern)
print("❌ BAD: ECB mode - plaintext pattern still visible!")
print(" AES-ECB: same input → same output")
print(" → Gambar yang dienkripsi ECB masih menunjukkan bentuk!")
print()

# BAD #3: Weak hash for passwords
print("❌ BAD: MD5 for passwords")
print(' hash = md5(password) # NO SALT!')
print(" → Rainbow table attack langsung tembus!")
print()

# BAD #4: Custom crypto
print("❌ BAD: Custom 'encryption' algorithm")
print(" def encrypt(data):")
print(" return ''.join(chr(ord(c) ^ 0x55) for c in data) # XOR fixed key!")
print(" → Siapa pun bisa reverse dalam 5 detik!")
print()

# BAD #5: Predictable random
print("❌ BAD: Predictable random for crypto")
print(" import random; random.seed(12345) # Python random != crypto secure!")
print(" → Jika seed diketahui, semua 'random' bisa diprediksi!")
print()

# GOOD practices
print("=== GOOD CRYPTO - DO THIS! ==*")
print()
print("✅ AES-256-GCM (authenticated encryption)")
print("✅ bcrypt/argon2 for passwords")
print("✅ Secrets.token_hex() for random")
print("✅ Key dari secure keystore / env vars")
print("✅ Regular key rotation")
PYEOF

Temuan

Kesalahan Dampak Perbaikan
Hardcoded key Semua data bisa didekripsi Key management system
ECB mode Pola plaintext terlihat GCM / CBC + HMAC
MD5/SHA1 Rainbow table, collision bcrypt / argon2
Custom crypto 100% tidak aman Gunakan library standard
Predictable RNG Kunci bisa diprediksi secrets atau os.urandom

Refleksi: OWASP A02 adalah salah satu top 10 web vulnerability. Kesalahan kriptografi adalah yang paling mahal - karena kriptografi yang salah memberikan ilusikeamanan, bukan keamanan nyata. Prinsip: jangan pernah membuat kriptografi sendiri.


Generated by @farishhz Agent Pentest Pipeline - TDCTF Security Academy

PADA HALAMAN INI