otevrena-data-mfcr / cityvizor

Snapshot verze aplikace při předání Ministerstvem financí na Otevřená města. Aktuální verze je v repozitáři CityVizor/CityVizor.
GNU General Public License v3.0
15 stars 2 forks source link

MongoDB injection (as in SQLi) #54

Closed VojtaStanek closed 7 years ago

VojtaStanek commented 7 years ago

Jde o chybu zde: https://github.com/otevrena-data-mfcr/CityVizor/blob/master/server/api/login.js#L31

Když dám request s tímto body, tak to bude fungovat (najde to uživatele admin):

{
  "login": {"$exists": true},
  "password": "admin"
}

Případně lze pomocí $not: {$in: []} nalézt všechny uživatele a posílat jim phising emaily. ;)

SmallhillCZ commented 7 years ago

Díky moc, přiznám se, že jsme to zatím neřešili, soustředili jsme se na client-side. Myslíš, že https://github.com/efkan/content-filter je dostatečné řešení?

VojtaStanek commented 7 years ago

Asi ano, byť možná mohlo být lepší body a query validovat proti json schematu (existují express middlewary, co to dělají).

(Jenom dodávám, že jsem s tím nikdy nedělal, je to jenom nápad.)

SmallhillCZ commented 7 years ago

jo vidiš to se mi líbí asi nejvíc. díky!

VojtaStanek commented 7 years ago

Ono by z toho šlo i generovat api dokumentaci...

VojtaStanek commented 7 years ago

:+1:

On Tue, 18 Jul 2017 4:29 pm Martin Kopeček, notifications@github.com wrote:

Closed #54 https://github.com/otevrena-data-mfcr/CityVizor/issues/54 via 11fa25c https://github.com/otevrena-data-mfcr/CityVizor/commit/11fa25c40037286193d636b4b5de3e7acde523d1 .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/otevrena-data-mfcr/CityVizor/issues/54#event-1168454892, or mute the thread https://github.com/notifications/unsubscribe-auth/AEFago6Ai8iUB240rIwRjRlFpxdrUKssks5sPMFUgaJpZM4Nm2XH .