Meio Bit » Arquivo » Software » E cresce a família do pequeno Bobby Tables

E cresce a família do pequeno Bobby Tables

Essa é para os programadores começarem a rir. Uma cidadã descobriu que abriu sua vida pra uma penca de problemas online, ao tomar para si o sobrenome do marido. O nome da cidadã? Jennifer Null.

8 anos atrás

exploits_of_a_mom

Uma das tiras clássicas do xkcd é a do pequeno Bobby Tables, o garoto com uma string de SQL injection no nome. Foi uma cruel atitude dos pais para punir programadores preguiçosos que não fazem crítica de dados. Infelizmente isso é uma regra, não uma exceção.

No meu tempo de analista eu adorava chicotear programador que não fazia crítica de dados. Nem as substituições básicas de strings eliminando aspas e plics e parênteses eles colocavam. Muitos achavam que o simples fato do formulário HTML ter um campo numérico era suficiente para “proteger” o sistema. Aí eu criava uma página externa fazendo post de uma string e derrubava o sistemão do idiota.

Essa crítica de dados pode ser tão simples e inexistente quanto verificar por strings como “AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA” que quebram a maioria dos sistemas de comentários.

Agora descobriram um caso digno de figurar na família do Bobby Tables: uma mulher que não ouviu o conselho do marido, passou a usar o sobrenome dele e descobriu que o mundo dos computadores é programado com bem menos inteligência do que esperado.

O nome da mulher? Jennifer Null.

bacalhau_inteiro-opergel

Ela descobriu que não consegue comprar passagens aéreas e um monte de sites não funcionam direito.

A explicação? Aquela desgraça, aquele TXT metido a besta que chamam de XML. Mais precisamente este bug aqui. Basicamente quando você parseia a string em XML ela deixa de ser “null” e vira <campo>null</campo>.

Neste momento ela passa a ser interpretada como a constante NULL, que representa nada, e portanto o campo é tratado como vazio.

Lombos-bacalhau-1100x739

A solução é tratar NULL e um monte de outras palavras reservadas antes de jogar os dados pra XML. As chances disso acontecer? Zero, é muito mais fácil sugerirem que a pobre moça adicione um espaço no nome, ou algo assim. Como qualquer programador decente aplica um TRIM nas strings que recebe? Lamento informar mas o campo de busca do Skype pra Linux não faz isso.

A parte ruim: Jennifer Null vai ter que explicar pro funcionário no checkin que a identidade dela diz Null mas o cartão de embarque diz Nulla ou Null1. Quer saber? Fica em casa, Jen, dá menos trabalho.

Fonte: BBC.

Leia mais sobre: , .

relacionados


Comentários