Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Análise de vulnerabilidade do arquivo classes/Estoque.php #552

Closed
joaopontes22 opened this issue May 29, 2024 · 1 comment
Closed

Análise de vulnerabilidade do arquivo classes/Estoque.php #552

joaopontes22 opened this issue May 29, 2024 · 1 comment
Assignees
Labels
Security MN análise

Comments

@joaopontes22
Copy link
Contributor

Vulnerability Analysis

  1. Vulnerabilidade de Injeção de Dependência:
    No código fornecido, a classe Estoque possui um construtor que recebe um parâmetro $qtd. No entanto, esse parâmetro não é utilizado de forma segura, possibilitando a injeção de dependência. Esse tipo de vulnerabilidade ocorre quando um atacante pode alterar o comportamento da aplicação injetando de forma maliciosa uma dependência não confiável.

Para corrigir essa vulnerabilidade, é importante validar e filtrar os dados de entrada no construtor, garantindo que apenas valores seguros e válidos sejam utilizados para inicializar o objeto Estoque.

Segue abaixo um exemplo de como corrigir a vulnerabilidade de injeção de dependência no construtor da classe Estoque:

public function __construct($qtd)
{
    if (is_numeric($qtd) && $qtd >= 0) {
        $this->qtd = $qtd;
    } else {
        throw new Exception("Quantidade inválida");
    }
}

Com a adição dessa validação, o construtor irá garantir que apenas valores numéricos positivos sejam utilizados para inicializar a quantidade no objeto Estoque, prevenindo assim a injeção de dependência.

  1. Outra possível vulnerabilidade que poderia ser considerada é a falta de validação nos métodos set, já que os valores passados para setId_produto, setId_almoxarifado e setQtd não são validados. Para corrigir essa vulnerabilidade e garantir a integridade dos dados, recomenda-se adicionar validações adequadas nos métodos set antes de atribuir os valores às propriedades.
@joaopontes22 joaopontes22 added the Security MN análise label May 29, 2024
@GabrielPintoSouza GabrielPintoSouza self-assigned this Jun 28, 2024
GabrielPintoSouza added a commit that referenced this issue Jun 28, 2024
@GabrielPintoSouza
Copy link
Collaborator

Feedback

  • O comentário foi útil? 5 = Muito útil
  • O erro foi fácil de localizar? 5 = Muito fácil
  • Foi possível corrigir? Sim
  • O quão fácil de corrigir? 5 = Muito fácil

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Security MN análise
Projects
None yet
Development

No branches or pull requests

2 participants