PHP Serialization SQL Injection
Esse artigo é uma pequena explicação sobre PHP Serialization SQL-Injection que encontrei no Hack.me.

O desafio é deveras interessante, criado por mark-rizal! Ele adicionou o level como médio.
A primeira parte do desafio foi entender um pouco do formulário que pede um usuário e senha para logar.

Ao intercptar a requisição enviei para o repeater, para trabalhar no challenge melhor, consegui uma dica logo após um redirect. Um base64!

Decodandoo…

Então podemos ver que ele abre uma página de registro. Isso foi importante pois foi uma maneira de criar um usuário e senha válidos, para então entender o comportamento da aplicação. Podemos ver a seguir…

Criei o usuário admin:admin mas poderia ser qualquer coisa, foi uma maneira de talvez até conseguir já logar como administrador, mas foi criado um usuário comum, como pode ser visto na imagem a seguir:
PS: Como ele aparece o nome do usuário que eu criei, aproveitei para testar HTML Injection e funcionou! Mas decidi focar no desafio de SQLInjection.

Hora de ir um pouco mais fundo…
Desloguei do usuário admin e loguei novamente para interceptar a requisição. Tentando entender melhor o que estava acontecendo, pecerbi um base64 no cookie c_login= como podemos ver na imagem a seguir:

Decondando o base64 podemos ver o que realmente está acontecendo e podemos iniciar a pesquisa em como achar um input para nosso Injeção…
Base64 original:

Base64 modificado:

Fiz o o teste com a string clássica 1' or '1'='1. Também precisamos mudar o s:5 que tinha na requisição original, já que esse é o tamanho da string admin.
Acabei usando o irb do ruby para ficar fazendo meus testes.

Munido com tais informações, vamos trocar o base64 e reenviar para ver o que acontece.
Não esqueça de encodar os == para %3D%3D.

Conseguimos injetar. Que tal por isso no user_type também, o qual está como user. Podemos apenas trocar ele para admin e o tamanho da string é claro.

Voilá

O desafio foi resolvido e atingi minha meta de 1% de aprendizado por dia. Todos os dias!
—
Keep Hunting!
