Geeklog v2.x ou inferior, está apto para script transversavel tendo acesso as vulnerabilidades e vários ataques de SQL injection.

Geeklog Multiple Versions Vulnerabilities
------
PRODUTO: Geeklog
VENDEDOR: Geeklog
VERSÕES VULNERÁVEIS:
- 2.x ( TESTADO ) (T.I.N.P)
- 1.x ( TESTADO ) (T.I.N.P)
- E versões mais velhas possíveis afetadas também.
NENHUMAS VERSÕES VULNERÁVEIS
- ?
---------------------
N.TED = Não Testado em um Site Real / Site De Produção
T.I.N.P = Testado em Não Ambiente De Produção
____________
Descrição:

---------------------------------------------
| BURACOS DE SEGURANÇA ENCONTRADOS e PROVAS DE CONCEITO:|
---------------------------------------------
Eu encontrei XSS e vulnerabilidades de Injeção Do SQL no Geeklog
Sistema De Administração De Conteúdo.
O XSS pode estar utilizado para roubou dados de autenticação e biscoitinhos, e , em algum
condições você pode deface a homepage do website.
As Injeções Do SQL podem estar utilizadas para cortam o banco de dados do backend e
modify/read/delete/stole dados no banco de dados do backend.
Eu encontrei alguns buracos de segurança ( miscelaneous ).
---------
| XSS |
---------
Eu encontrei buracos do XSS:
Você pode enviar código ao sistema do Shoutbox para seja exibido... NA CASA
PÁGINA !!!
Isto é o bug mais importante que eu descobri no geeklog porque qualquer usuário
( não autenticado )

home page do cms em um bloco.
-
Prova de Conceito:
-
insera seu código dentro a caixa de texto sob o shoutbox bloqueia e pressiona Grito
isto ! todo do thats.
Outro XSS:
http://[TARGET]/faqman/index.php?op=view&t=518">[XSS ATTACK CODE]
http://[TARGET]/filemgmt/brokenfile.php?lid=17'/%22%3[XSS ATTACK CODE]
Its very possible that other files using lid variable are vulnerable to this
and SQL Injection attacks.
------------------
| SQL INJECTIONS |
------------------
I found some SQL injections :
http://[TARGET]/index.php?topic=te'st/[SQL INJECTION CODE]
http://[TARGET]/forum/viewtopic.php?forum=1&showtopic=1'0/[SQL INJECTION
CODE]
http://[TARGET]/staticpages/index.php?page=test'test/[SQL INJECTION CODE]
http://[TARGET]/filemgmt/visit.php?lid=1'1'0/[SQL INJECTION CODE]
http://[TARGET]/filemgmt/viewcat.php?cid='6/[SQL INJECTION CODE]
http://[TARGET]/comment.php?type=filemgmt&cid=filemgmt-1'70/[SQL INJECTION
CODE]
http://[TARGET]/comment.php?mode=display&sid=filemgmt-XXX&title=[SQL
INJECTION CODE]
http://[TARGET]/filemgmt/singlefile.php?lid=17'/0/[SQL INJECTION CODE]
With this you can perform malformed sql queries for access privileged
information such as passwords ( md5 hashes ),
email addresses...---------------
| MISCELANEoUS|
---------------
_____________
IP Detection ->
_____________
Geeklog unicamente detecta ips em frente de um proxy , se você está
atrás um proxy , registros do geeklog , vontade de escritas seja registrada o proxy ip.
Isto pode ser remendado por usar o HTTP_X_FORWARDED_FOR detection veja:
<?php
/* ------------------------
/ Geeklog possible Hard IP
/ Detection System.
/ Use seeyou() instead of
/ declaring other ip variables.
/ ------------------------
/ by Lorenzo Hernandez G-H
/ ------------------------
*/ ________________________
function seeyou()
{
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),
"unknown"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("HTTP_X_FORWARDED_FOR") &&
strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"),
"unknown"))
$ip = getenv("REMOTE_ADDR");
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR']
&& strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "unknown";
return($ip);
}
/*-------seeyou()-------*/
/* <<EOF */
// ;-)
// dedicado a Pocholo
// Poxolo for president !
// FIEEEESSSSSSSSTAAAAAAAA
?>
e chamando isto da variável do ip principal gosta de:
$ip = seeyou();
________________________
Automatic IP Blocking ->
________________________
Eu Estou sugerindo este ao time de desenvolvimento do Geeklog .
Ao Invés de registrar instalações usam um sistema do proactive para nega ips de
attackers no tempo real.
Eu explico isto:
Um attacker checa aquelas vulnerabilidades de Injeção Do SQL.
Use em ou mais bugs possíveis e o sistema soma esta tentativas aos
banco de dados:
-KIDDIE->
- IP -> uses seeyou() routine for detection
- ATTEMPTS -> COUNT-
|_> IF THIS IS x ( F.EX. 3) go to the block
routine ------
-------------------------------------------------------------------------
----|
|> Blocking routine:
- a file ( F.EX. blockthatsh*t.php )
|________________________________|
|
|
|> Isto soma uma entrada para outro php
arquive que está
incluido no lib comum que está
carregado com
todo as escritas com:
include
("blocked-sh*ts");
|________________________|
|
blocked-sh*ts.php source : <|<?
/* Nenhuma Raiz Segura Agrupa Pesquisa De Segurança
/ Por Lorenzo Hernandez Garcia-hierro
/ Isto está separando do Servidor De Aplicação De Segurança ( unreleased ) por
/ Lorenzo Hernandez Garcia-hierro
/ ---- Licenciado sob o GPL ----
*/
$denyip = array("202.108.250.",
"200.147.47.97",
"148.221.148.38",
"80.117.13.97",
"212.142.214.63",
"213.97.249.145"
);
/* IP Detection
// ----------------------
//EXPERIMENTAL NESTA ESCRITA
// ESTA VONTADE BLOQUEIA IPs USANDO
// O " ROTINA DO DETECTION DURA
// E CASANDO O ARRANJO DO denyip
// -----------------------
function seeyou()
{
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),
"unknown"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("HTTP_X_FORWARDED_FOR") &&
strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"),
"unknown"))
$ip = getenv("REMOTE_ADDR");
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR']
&& strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "unknown";
return($ip);
}
// -------------------------
// -------END seeyou()-------*/
// For use only with seeyou() routine
// $ip = echoIP();
// Under this you don't need to change nothing.
// ----------------------------------------------
$ip = $_SERVER['REMOTE_ADDR']; // if you want seeyou() routine comment this
e uncomment o outro um
$blockmsg = arranjo('<h1>Acesso Bloqueado</h1><br><br>Seu Endereço Internet foi
bloqueado em nossos servidores devidos para uso incorreto ou ações impróprias nos
servidores , se você tenta acessar outra vez servidores do thi , sua vontade do ISP é
adviced sobre you.BlockedIPs estão : <br><br>'."$denyip".'<br><br>Tome atenção para
estar ausente disto list.Shits cheira ruim .');
// Nothing to change below this line ------------------
$x = count($denyip);
for ($y = 0; $y < $x; $y++) {
if ($ip == $denyip[$y]) {
exit($blockmsg[$y]);
}
}
?>


Cracks's S.A

Hosted by www.Geocities.ws

1