Vulnerabilidade no PHP NUKE afeta o PortalJava

17 respostas
L

Olá

O portaljava foi hackeado hoje 21/04 (defaced)!

Suponho que foi algo do tipo descrito em: http://www.phpnuke.org.br/article703.html

Vejam notícias da página modificada:
HACKED

THIS SITE, HAS BEEN HACKED BY MAGMAG SPECIALY THANKS TO HAJI. FELAN ;o)
HACKED

THIS SITE, HAS BEEN HACKED BY MAGMAG. VULNERABILITY : PHP NUKE DEFAULT HOME PAGE. SPECIALY THANKS TO HAJI. FELAN ;o)
Vejam o head da página modificada:
<head>
<title>HACKED PORTAL JAVA [email removido] </title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
<META NAME="RESOURCE-TYPE" CONTENT="DOCUMENT">
<META NAME="DISTRIBUTION" CONTENT="GLOBAL">
<META NAME="AUTHOR" CONTENT="HACKED PORTAL JAVA [email removido]">
<META NAME="COPYRIGHT" CONTENT="Copyright (c) 2003 by HACKED PORTAL JAVA [email removido]">
<META NAME="KEYWORDS" CONTENT="News, news, New, new, Technology, technology, Headlines, headlines, Nuke, nuke, PHP-Nuke, phpnuke, php-nuke, Geek, geek, Geeks, geeks, Hacker, hacker, Hackers, hackers, Linux, linux, Windows, windows, Software, software, Download, download, Downloads, downloads, Free, FREE, free, Community, community, MP3, mp3, Forum, forum, Forums, forums, Bulletin, bulletin, Board, board, Boards, boards, PHP, php, Survey, survey, Kernel, kernel, Comment, comment, Comments, comments, Portal, portal, ODP, odp, Open, open, Open Source, OpenSource, Opensource, opensource, open source, Free Software, FreeSoftware, Freesoftware, free software, GNU, gnu, GPL, gpl, License, license, Unix, UNIX, *nix, unix, MySQL, mysql, SQL, sql, Database, DataBase, Blogs, blogs, Blog, blog, database, Mandrake, mandrake, Red Hat, RedHat, red hat, Slackware, slackware, SUSE, SuSE, suse, Debian, debian, Gnome, GNOME, gnome, Kde, KDE, kde, Enlightenment, enlightenment, Interactive, interactive, Programming, programming, Extreme, extreme, Game, game, Games, games, Web Site, web site, Weblog, WebLog, weblog, Guru, GURU, guru, Oracle, oracle, db2, DB2, odbc, ODBC, plugin, plugins, Plugin, Plugins">
<META NAME="DESCRIPTION" CONTENT="O seu portal de Java em portugu&ecirc;s">
<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
<META NAME="REVISIT-AFTER" CONTENT="1 DAYS">
<META NAME="RATING" CONTENT="GENERAL">
<META NAME="GENERATOR" CONTENT="PHP-Nuke 6.5 - Copyright 2003 by http://phpnuke.org">
<LINK REL="StyleSheet" HREF="themes/PortalJava-01/style/style.css" TYPE="text/css">
</head>

O Javafree também usa a mesma versão 6.5, espero que tenham corrigido a questão do SQL Injection. Ver: http://net-security.org/vuln.php?id=3244

Para quem não sabe do que se trata: O que é PHP-Nuke

[]s
Luca

17 Respostas

R

Eu daria um chute que mais de 40% de site feitos com ASP tem problemas com SQL Injection.

R

Incrivel como o phpnuke eh bugado… o historico dele eh catastrofico… Outro programa que me vem a cabeca eh o wu-ftpd… uma vez um cara postou na bugtrag assim:

wu-ftpd: since 1994 giving root access to us.

:mrgreen:

Rafael

L

Olá

Quem gosta deste assunto deve ler: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=507

Vale a pena, é divertido.

[]s
Luca

R

Já “se aproveitando-se” do gancho. Que diabos é SQL Injection?

C

Melhor artigo que eu ja li sobre o assunto ateh hoje:

C

“cv”:
Melhor artigo que eu ja li sobre o assunto ateh hoje:

http://fishbowl.pastiche.org/2003/11/10/ahov_2_sql_injection


PreparedStatement impede isso por completo?!

Até.

_

Exemplo clássico de SLQInjection:

Colocar

' or '1'='1

ou

' or '1'='1'

em campos ‘Usuario’ e ‘Senha’ em muito sites ganhar-se-á (!) acesso.

Se o desenvolvedor não tratar aspas e aspas-duplas, esse pequeno exemplo funciona.

Imaginem a seguinte query:

SELECT * FROM tUsuarios WHERE ID = ' + userInputID + ' AND
PASSWORD = ' + userInputPassword + '

Dessa maneira, a query com os dados ficaria

SELECT * FROM tUsuarios WHERE ID = '' or '1'='1' AND
PASSWORD = '' or '1'='1'

Bizarro né …

R

“cancao”:
“cv”:
Melhor artigo que eu ja li sobre o assunto ateh hoje:

http://fishbowl.pastiche.org/2003/11/10/ahov_2_sql_injection


PreparedStatement impede isso por completo?!

Até.

A implementacao do driver ao menos deveria procurar por caracteres “especiais” e tratar eles da maneira adequada.

Rafael

R

“Rafael Steil”:
“cancao”:
“cv”:
Melhor artigo que eu ja li sobre o assunto ateh hoje:

http://fishbowl.pastiche.org/2003/11/10/ahov_2_sql_injection


PreparedStatement impede isso por completo?!

Até.

A implementacao do driver ao menos deveria procurar por caracteres “especiais” e tratar eles da maneira adequada.

Rafael

É por isso que eh mais comum ver essas falhas em sites rodando ASP. Quem usa ADO normalmente passa o comando direto no recordset(resultset) inves de usar o ADO.Command que é equivalente ao PreparedStatement.

Lipe… depois desse exemplo seu o numero de hackerzinhos do GUJ vai aumentar bastante :smiley: :smiley: :smiley:

S

e eu diria q 90% dos sites governamentais q sao em asp tem problemas com isso… faca um teste: procure algum site .gov.br escrito em asp… veja se tem um /admin e pronto! 90% das vezes vc entra na admin deles com sql injection…

B

Para os interessados:

http://www.javafree.com.br/forum/viewtopic.php?t=5910&start=0&postdays=0&postorder=asc&highlight=

Att

R

No site c….com.br é possivel utilizar o campo de busca para fazer muitas besteiras, inclusive um “truncate filmes”. Acho que os caras usaram um usuário de acesso ao banco(MSSQL) com permissões de dbonwer. Lá você pode fazer algo do tipo: ';use master;–

V

e eu diria q 90% dos sites governamentais q sao em asp tem problemas com isso… faca um teste: procure algum site .gov.br escrito em asp… veja se tem um /admin e pronto! 90% das vezes vc entra na admin deles com sql injection…

só procurar no google

site:org.br inurl:"/admin/default.asp"

ou
inurl:"/admin/index.asp"
inurl:"/admin/admin.asp"

[]´s

R

Ele só achou 1.610 hits :lol: :lol: :lol:

Eu fico meio preocupado com isso, as vezes eu ligo o f**** e não aviso, mas tem muito lammer querendo aparecer por aí… e o coitado do programador inocente nunca vai ficar sabendo o que aconteceu… se a aplicação tem essas falhas imagina se ela vai ter log de segurança.

C

“Rafael Steil”:
A implementacao do driver ao menos deveria procurar por caracteres “especiais” e tratar eles da maneira adequada.

Rafael


Pois é, Rafael, era com isso que eu estava preocupado. Vcs, mesmo usando Prepared fazem alguma verificação dos parametros ou fazem algum “teste” do driver?! Ah, o Hibernate usa prepared para executar as queries?!

Até.

R

“cancao”:
“Rafael Steil”:
A implementacao do driver ao menos deveria procurar por caracteres “especiais” e tratar eles da maneira adequada.

Rafael


Pois é, Rafael, era com isso que eu estava preocupado. Vcs, mesmo usando Prepared fazem alguma verificação dos parametros ou fazem algum “teste” do driver?! Ah, o Hibernate usa prepared para executar as queries?!

Até.

Isso é facil de testar… na sua aplicação em algum lugar que tenha um campo do tipo texto, insira um aspas e veja se ela foi gravada no banco. Se sim, seu driver já está tratando, se não preocupe-se!

P

“LIPE”:
Exemplo clássico de SLQInjection:

Colocar

' or '1'='1

ou

' or '1'='1'

em campos ‘Usuario’ e ‘Senha’ em muito sites ganhar-se-á (!) acesso.

Se o desenvolvedor não tratar aspas e aspas-duplas, esse pequeno exemplo funciona.

Imaginem a seguinte query:

SELECT * FROM tUsuarios WHERE ID = ' + userInputID + ' AND
PASSWORD = ' + userInputPassword + '

Dessa maneira, a query com os dados ficaria

SELECT * FROM tUsuarios WHERE ID = '' or '1'='1' AND
PASSWORD = '' or '1'='1'

Bizarro né …

OU

' OR ''='
Criado 21 de abril de 2004
Ultima resposta 22 de abr. de 2004
Respostas 17
Participantes 11