
Exploit de prova de conceito para injeção de SQL no Sourcecodester Online Pizza Ordering System 1.0. Demonstra execução remota de código e negação de serviço através do parâmetro QTY.
Software: Sistema de Pedidos de Pizza Online 1.0
Link do Software: https://www.sourcecodester.com/php/16166/online-pizza-ordering-system-php-free-source-code.html
Tipo de Vulnerabilidade: Injeção SQL
Componente Afetado: Parâmetro QTY
Impacto Negação de Serviço: Verdadeiro
Impacto Execução de Código: Verdadeiro
Tipo de Ataque: Remoto
Fornecedor do Produto: Sourcecodester
A injeção SQL (SQLi) é uma vulnerabilidade de segurança web que permite a um atacante interferir nas consultas que uma aplicação faz ao seu banco de dados. Geralmente permite que um atacante visualize dados que normalmente não conseguiria recuperar. A vulnerabilidade existe no Sistema de Pedidos de Pizza Online da Sourcecodester versão 1.0 no parâmetro QTY, encontrado durante a atualização do carrinho no endpoint AJAX.php.
A URL afetada onde o parâmetro vulnerável pode ser encontrado: http://HOST/php-opos/admin/ajax.php?action=update_cart_qty
Impacto: Um ataque de injeção SQL pode resultar em acesso não autorizado a dados sensíveis, como senhas, detalhes de cartões de crédito ou informações pessoais do usuário.
O parâmetro QTY é vulnerável a injeção SQL, o que permite a um atacante modificar o comportamento da aplicação e acessar dados aos quais não deveria ter acesso. Ao submeter uma carga maliciosa especialmente elaborada contendo instruções SQL, conseguimos gerar uma mensagem de erro SQL. Isso indica que a aplicação está vulnerável a ataques de injeção SQL.
Passos para Reprodução/Exploração: Para reproduzir esta vulnerabilidade:
Navegue até a aplicação Sistema de Pedidos de Pizza Online.
Adicione alguns itens ao carrinho.
Atualize o carrinho alterando a QTD (quantidade) do item.


Uma mensagem de erro SQL é exibida, indicando que a aplicação está vulnerável a injeção SQL.
Insira a carga mencionada no parâmetro QTY na requisição acima para confirmar que a aplicação está vulnerável a injeção SQL.
Carga: (CASE WHEN (9603=9603) THEN SLEEP(11) ELSE 9603 END)
