README.md
Rendering markdown...
#!/usr/bin/env python3
"""
Script de Carga para Popular Heap do MongoDB
Executa queries massivas para garantir que tokens R6 fiquem residentes na memória
"""
import subprocess
import time
import sys
def executar_queries(num_queries=100):
"""Executa queries massivas para popular a heap"""
print(f"[*] Executando {num_queries} queries para popular heap...")
for i in range(num_queries):
# Query 1: Buscar todos os tokens de servidor
cmd1 = 'docker exec cve-2025-14847-lab mongosh r6_custom_matchmaking --quiet --eval "db.active_sessions.find({}, {serverAuthToken: 1}).toArray()"'
# Query 2: Buscar jogadores com flags
cmd2 = 'docker exec cve-2025-14847-lab mongosh r6_custom_matchmaking --quiet --eval "db.player_stats.find({internal_flags: {\\$ne: []}}).toArray()"'
# Query 3: Config com API keys
cmd3 = 'docker exec cve-2025-14847-lab mongosh r6_custom_matchmaking --quiet --eval "db.system_config.find().toArray()"'
try:
subprocess.run(cmd1, shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, timeout=2)
subprocess.run(cmd2, shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, timeout=2)
subprocess.run(cmd3, shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, timeout=2)
if (i + 1) % 10 == 0:
print(f" → {i + 1}/{num_queries} queries executadas")
except Exception as e:
print(f" [!] Erro na query {i}: {e}")
continue
print(f"[+] {num_queries} queries completas - heap POPULADA!")
if __name__ == "__main__":
num = int(sys.argv[1]) if len(sys.argv) > 1 else 100
executar_queries(num)