injeção de código pode ser usada por um atacante para introduzir código malicioso em um programa de computador vulnerável e mudar o curso de execução.
todo o software leva algum tipo de entrada – um programa seguro deve tratar toda a entrada de fonte externa froman como “não confiável” até prova em contrário. Vulnerabilidades de injeção de código existem quando um atacante pode submeter entrada executável a um programa e enganar o software para executar essa entrada. Isso dá ao atacante uma canalização pela qual eles podem contornar quaisquer restrições de segurança colocadas em prática pelo autor do programa.Alguns tipos comuns de injeção de código São::
-
Injecção de SQL. O tratamento inseguro dos parâmetros HTTP ao construir querieson um site pode permitir que um atacante execute declarações SQL arbitrárias em uma aplicação vulnerável.
-
Cross site scripting. Tratamento inseguro dos parâmetros HTTP pode permitir a injeção de JavaScript malicioso em uma aplicação web.
-
execução de comando. O tratamento inseguro dos parâmetros HTTP pode permitir um ataque para executar comandos de consola arbitrários no servidor web.
as consequências de uma injecção de código bem sucedida são geralmente desastrosas para o autor da candidatura. Os riscos podem ser mitigados garantindo um tratamento seguro de entrada não confiável, e praticando a defesa em profundidade para limitar os privilégios da aplicação em execução.