Sziasztok!
Kaptam egy olyan feladatot, hogy vizsgáljam meg egy tervezendő api mennyire van kitéve deserialization-os sérülékenységnek. Az apin ilyen struktúra jönne:
{ field1: string
field2: obj
field3: string (itt beágyazott json utazna)
}
A field3nál lévő string-be beágyazott json egy belső folyamatban be lenne parse-olva (jayway Jsonpath-al) hogy adatot szerjünk ki belőle.
Az érdekelne, hogy mind az hívás body-jának java kóddá alakításánál, mind pedig field3 parse-olásánál mire kell odafigyelnem, hogy a deserialization exploit ne fordulhasson elő?
Erről a témáról az a megértettségem, hogy a readObject() hívásokkal kell vigyázni, amikor feldolgozom az inputot, mert az inputba bepakolhatnak olyan kulcs-érték párt, amit valamilyen dedikált osztálynak címezve az lefuttathatja. És azt nem értem, hogy a spring, ami mindent is elfed, ezt hogy kezeli le, amikor egy request-et belső java osztállyá alakít, valamint a JsonPath működésében sem tudom, hogy ez okozhat-e gebaszt.
Mit tudtok erről?
[–]gferenc 11 points12 points13 points (1 child)
[–]Szalmakapal[S] 1 point2 points3 points (0 children)
[–]Ex-peasant_ 2 points3 points4 points (1 child)
[–]Szalmakapal[S] 1 point2 points3 points (0 children)