bfail

To 'B' secure or to 'b' fail? Strong passwords for admins are always great, right?

Você pode acessar os arquivos do desafio no nosso repositório https://github.com/HawkSecUnifei/Writeups

Ao acessa a página, nos deparamos com uma tela de login.

Login

Olhando o código da página renderizada, vemos que há um comentário dizendo que podemos acessa o código fonte.

Código fonte da página renderizada

O código nos revela 71 bytes da senha do usuário admin, que foi criada utilizando a função de hash do bcrypt. O hash do bcrypt tem 72 bytes, logo temos que descobrir somente o último byte da senha. Para isso, testamos as 256 possibilidades, passamos pela função de hash e comparamos com o hash da senha que temos.

Agora podemos pegar a senha codificada para URL e fazer uma requisição form com GET passando username=admin e password=%EC%9F%E0a%978%FC%B6%3AT%E2%A0%C9%3C%9E%1A%A5%FAo%B2%15%86%E5%24%86Z%1A%D4%CA%23%15%D2x%A0%0E0%CA%BC%89T%C5V6%F1%A4%A8S%8A%25I%D8gI%15%E9%E7%24M%15%DC%40%A9%A1%40%9C%EEe%E0%E0%F76%AA, assim obtendo a flag

Requisição feita pelo BurpSuite

Atualizado