
Erstellen einer Aggregations-Pipeline, um auf Daten ohne ordnungsgemäße Autorisierung zuzugreifen, aufgrund unsachgemäßer Handhabung von $mergeCursors in MongoDB >v8.0 <8.0.7, >v7.0 <7.0.19, >v6.0 <6.0.22
Erstelle eine Aggregations-Pipeline, um ohne ordnungsgemäße Autorisierung auf Daten zuzugreifen, aufgrund unsachgemäßer Handhabung von $mergeCursors in MongoDB >v8.0 <8.0.7, >v7.0 <7.0.19, >v6.0 <6.0.22
nicht sehr schwierig – verwende einfach pip3, um die Abhängigkeiten zu installieren: pip install -r requirements
python3 CVE-2025-6713
Was tun, um es selbst zu testen
Zeilen 4, 5, 6, 7, 9, 10:
mconnect = "mongodb://localhost:27017"
dbname = ""
acollection = ""
rcollection = ""
USERNAME = ""
PASSWORD = ""
du kannst:
ändere mconnect auf deine eigene Mongo-URI, um dich mit deiner Datenbank zu verbinden
ändere dbname auf deinen Datenbanknamen (nutze, ändere oder forke das Repository, um es mit mehr als einer DB zu testen)
ändere acollection auf eine öffentlich verfügbare Sammlung (zugänglich)
ändere rcollection auf eine nicht öffentlich verfügbare Sammlung (eingeschränkt)
ich denke, USERNAME & PASSWORD sind selbsterklärend
Zeilen 17 & 18 (in setupTest(db), nach [acollection].insert_many([...):
{"name": "pubthing1", "data": "pub stuff"},
{"name": "pubthing2", "data": "pub stuff"}
hier fügt das Skript nur Testdaten in die DB ein (muss nichts Spezifisches sein. Es kann buchstäblich alles sein)
Zeilen 22 & 23 (in setupTest(db), nach [rcollection].insert_many([...):
{"name": "secret", "stuff": "my national insurance number"},
{"name": "shhhh", "boo": "location of pringles in my house"}
das kann auch buchstäblich alles sein. Viel Spaß damit.
den Rest – ändere nichts, es sei denn, du weißt, was du tust, sonst wirst du nur verwirrt und wütend