Skip to content
ECP UFU
Voltar

SEG Lab 1 - Web SQL Injection

SEG Lab 1 - Web SQL Injection

Conteúdos

Nome da Atividade: Web SQL Injection

Nome e Matrícula: Lucas Lima do Nascimento - 12111ECP024

1. Task 1: Get Familiar with SQL Statements.

Untitled

Untitled

Untitled


2.1. SQL Injection Attack from webpage.

Untitled

Untitled

Digitar a string admin’;# faz com que a query não necessite mais de senha, já que sabemos que a cláusula WHERE corresponde à:

WHERE name= ’$input_uname’ and Password=’$hashed_pwd’";

Ao usar input_uname com esse valor, obtemos a seguinte query nova:

WHERE name=admin’; #’ and Password=’$hashed_pwd’";

Que comenta o resto da linha do WHERE e elimina a necessidade da senha.


2.2. SQL Injection Attack from command line.

Untitled

URL completa:

http://www.seed-server.com/unsafe_home.php?username=admin'%3B%23&Password=

Retorno: 200 - Página HTML

Untitled


2.3. Append a new SQL statement.

Ao inserir um novo SQL statement, ocorreu um erro na query:

Untitled

Untitled

Pelo erro obtido, imagino que a medida para impedir a execução seja algo relativo à quebra de linha de multiple statements ou algo relativo à character escaping.


3. SQL Injection Attack on UPDATE Statement

3.1 Modify your own salary.

Primeiro, para acessar, podemos utilizar a mesma técnica de exploit inicial:

Untitled

Untitled

Ao utilizarmos a ideia de fechar o valor do campo anteriormente com , podemos colocar um outro campo à ser editado (nesse caso salary) e seu valor correspondente. Alice ganhou o dobro de salário!

Untitled

Untitled

3.2 Modify other people’ salary.

Podemos agora, acessar a conta do Boby usando o exploit inicial de acesso sem senha e replicar os passos feitos para Alice, alterando seu salário.

Untitled

Untitled

Untitled

Untitled

3.3 Modify other people’ password.

Podemos agora, acessar a conta do Boby usando o exploit inicial de acesso sem senha e alterar sua senha. Podemos fazer isso de duas formas:

Para efeito de demonstração, alterei manualmente no painel de edição, mas mostrei o valor da senha SHA1 que retornaria o resultado desejado utilizando um site que faz esse tipo de algoritmo.

Untitled

Untitled

Untitled

Untitled

3.4. Prepared statement.

Inicialmente, começamos com o site inseguro, vulnerável aos mesmos ataques descobertos no início da atividade.

Untitled

Untitled

Fiz as modificações necessárias no arquivo unsafe.php, transformando a query em uma query segura:

Untitled

Ao rebuildar o container, ainda conseguimos acessar a rota interna, porém, nenhum valor é retornado do banco de dados:

Untitled

Untitled

Códigos importantes descobertos:


Share this post on:

Postagem Anterior
SCTR
Próxima Postagem
SEG Lab 2 - Cross-Site Scripting (XSS) Attack Lab