Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Como utilizar as aspas para concatenar, utilizamos || em que parte do código?

Bom dia Professora!!!

Gostaria do seu auxilio sobre uma atividade do curso de Pentest, explorando vulnerabilidades, estou no 08

Desafio: treinando SQL Injection.

Embora eu tenha conseguido resolver o exercício com o código no SQLMAP: sqlmap -u https://0abb00a104fe2ee8c0c9f8fa00fb00bc.web-security-academy.net/filter?category=Pets -D public -T users --columns "password,username" --dump

NÃO ENTENDI "A DICA DA PROFESSORA:"

"Dica da instrutora: Dessa vez, a aplicação traz na tela apenas informações dos nomes dos produtos, ou seja, não traz os dados da segunda coluna da tabela produtos mais. Devido a isso, será preciso concatenar, ou juntar, o username com a password para ver as senhas também.

Como havíamos descoberto que o gerenciador de banco de dados é o PostgreSQL, nele, para concatenar, utilizamos ||."

2 respostas
solução!

Olá Roberto, tudo bem? Boa tarde!!

Muito bom que você conseguiu outro método de resolver o lab, usar o sqlmap é sempre excelente!

Sobre a dica, é o seguinte, no caso desse laboratório, observe que na primeira página temos apenas os títulos ou nomes dos produtos, não temos as descrições mais.

Então, no laboratório anterior, tínhamos isso:

Página We like to Shop, com o subtítulo "Pets' UNION SELECT '1','2' -- seguido de uma ferramenta de filtros de busca. Tendo logo em seguida uma lista com o título "1" em negrito e descrição "2"

Onde conseguíamos fazer a busca com /filter?category=Pets' UNION SELECT '1', '2' -- e observar os textos inseridos na página.

Já no lab do desafio, temos o seguinte:

Página We like to Shop, com o subtítulo "Gifts' UNION SELECT '1','2' -- seguido de uma ferramenta de filtros de busca. Tendo logo em seguida uma lista com o título "2" em negrito seguido de um botão em azul nomeado "View details".

Ao fazer a mesma busca /filter?category=Pets' UNION SELECT '1', '2' --, só conseguimos ver na página um texto inserido que seria equivalente a coluna do nome do produto, ou seja, não conseguimos ver a descrição.

Então caso fomos tentar unir outro SELECT das duas colunas de username e password, vamos obter um erro:

Página Web Security Academy com uma mensagem de erro "Internal Server Error".

Para isso, podemos unir com o SELECT de uma coluna só, por exemplo:

Página We like to Shop, com o subtítulo "Gifts' UNION SELECT NULL, username FROM users --" seguido de uma ferramenta de filtros de busca. Tendo logo em seguida uma lista de itens, tendo em destaque: carlos, administrator e wiener, sendo todos os itens seguidos de botões em azul nomeados "View details".

Tendo em vista isso, poderíamos fazer um por vez: uma busca para username e depois outra para password.

Ou concatenar os resultados da busca para vermos usuários e senhas juntos na página. E para isso, no PostgreSQL, utilizamos o || (insight com essa dica), dessa forma:

Busca em navegador: "/filter?category=Pets' UNION SELECT NULL,username||password FROM users--

Sendo assim, conseguimos ver username e password juntos na página:

Página We like to Shop, com o subtítulo "Pets' UNION SELECT NULL,username||password FROM users--" seguido de uma ferramenta de filtros de busca. Tendo logo em seguida uma lista de itens, tendo em destaque: administrator0kibt0quvzw52nesnst4, sendo todos os itens seguidos de botões em azul nomeados "View details".

E com isso, você consegue acessar a conta do usuário administrator e solucionar o laboratório.

Espero que tenha ajudado e qualquer coisa, estamos à disposição!

Abraços e bons estudos 😄


Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Boa noite Professora Camila!

Passando para agradecer o carinho, perfeita a explicação, me ajudou muito.

abraço