Adulterar um dado serializado
Decodificar o blob, trocar um campo, recodificar, e o servidor aceita o objeto alterado.
Quando um dado serializado não é protegido, adulterá-lo é mecânico. O blob quase sempre está só codificado (base64), não cifrado nem assinado de verdade. Então o ataque é: decodificar, editar o campo que interessa, recodificar, enviar.
Veja um cookie de sessão em base64 que decodifica para {"u":"ana","role":"user"}. Trocar "role":"user" por "role":"admin" e recodificar produz um cookie que o servidor lê como "ana é admin". Nenhuma senha, nenhuma falha de memória: é só editar texto.
base64 -d < token.txt # {"u":"ana","role":"user"}
base64 -d < token.txt | sed 's/user/admin/' | base64 -w0 # cookie adulterado
A lição: codificar (base64) não é proteger. Base64 é só uma maneira de escrever bytes como texto; qualquer um desfaz. O que protege é autenticar o dado (assinar e verificar) ou não deixar o cliente carregar a decisão.