Ir para o conteúdo
ou

Software livre Brasil




Software livre, Compartilhar a fonte....  Multiplicando idéias..... Ajudando o próximo....  Tornando um sonho em realidade.... A felicidade de alguém que um dia chegou onde quis....


Compartilhe Felicidade....... Bons Negócios e ajude a manter vivo a nação open source.....!

Twitter/

Camaradinha

Jonatan

Tela cheia
 Feed RSS

Compartilhando

27 de Maio de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.
Compartilhando Idéias para multiplica-las, multiplique suas idéias.

security audit metasploit User velox MSF comunity edition

10 de Fevereiro de 2012, 0:00, por Software Livre Brasil - 0sem comentários ainda

security audit metasploit User velox

MSF comunity edition



Segundo o pseudo-especialista, a extensão .php é sinal de VÍRUS. Assim não dá.

2 de Agosto de 2011, 0:00, por Software Livre Brasil - 0sem comentários ainda

Segundo o pseudo-especialista, a extensão .php é sinal de VÍRUS. Assim não dá. 



Exemplos de Firewall em PHP.

8 de Julho de 2011, 0:00, por Software Livre Brasil - 0sem comentários ainda

Ola pessoal aqui vamos ver um pouco mais sobre Firewall em PHP.

Promeiro vamos ver algumas defines internas do sistema.

ID Flags
FILTER_SANITIZE_EMAIL  
FILTER_SANITIZE_ENCODED FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH
FILTER_SANITIZE_MAGIC_QUOTES  
FILTER_SANITIZE_NUMBER_FLOAT FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC
FILTER_SANITIZE_NUMBER_INT  
FILTER_SANITIZE_SPECIAL_CHARS FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH
FILTER_SANITIZE_FULL_SPECIAL_CHARS FILTER_FLAG_NO_ENCODE_QUOTES,
FILTER_SANITIZE_STRING FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP
FILTER_SANITIZE_STRIPPED  
FILTER_SANITIZE_URL  
FILTER_UNSAFE_RAW FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP

Usando:

<?php

$a
= "\tcafé\n";
//This will remove the tab and the line break

echo filter_var($a, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW);

//This will remove the é.
echo filter_var($a, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);

?>

Limpando Uma String,

  function sanitize($string, $trim = false)
  {
    $string = filter_var($string, FILTER_SANITIZE_STRING);
    $string = trim($string);
    $string = stripslashes($string);
    $string = strip_tags($string);
    $string = str_replace(array('‘','’','“','”'), array("'","'",'"','"'), $string);
    if($trim)
    $string = substr($string, 0, $trim);
   
    return $string;
  }



Alem desses modos acima podemos criar filtros personalizados de acordo com nossas ideias de ataques a requisições para o sistema.

Exemplo de filtros:

    $ct_rules = Array(       
        '*/from/*', '*/insert/*', '+into+', '%20into%20', '*/into/*', ' into ', 'into', '*/limit/*', 'not123exists*', '*/radminsuper/*', '*/select/*', '+select+', '%20select%20', ' select ',  '+union+', '%20union%20', '*/union/*', ' union ', '*/update/*', '*/where/*',
        'applet', 'base', 'bgsound', 'blink', 'embed', 'expression', 'frame', 'javascript', 'layer', 'link', 'meta', 'object', 'onabort', 'onactivate', 'onafterprint', 'onafterupdate', 'onbeforeactivate', 'onbeforecopy', 'onbeforecut', 'onbeforedeactivate', 'onbeforeeditfocus', 'onbeforepaste', 'onbeforeprint', 'onbeforeunload', 'onbeforeupdate', 'onblur', 'onbounce', 'oncellchange', 'onchange', 'onclick', 'oncontextmenu', 'oncontrolselect', 'oncopy', 'oncut', 'ondataavailable', 'ondatasetchanged', 'ondatasetcomplete', 'ondblclick', 'ondeactivate', 'ondrag', 'ondragend', 'ondragenter', 'ondragleave', 'ondragover', 'ondragstart', 'ondrop', 'onerror', 'onerrorupdate', 'onfilterchange', 'onfinish', 'onfocus', 'onfocusin', 'onfocusout', 'onhelp', 'onkeydown', 'onkeypress', 'onkeyup', 'onlayoutcomplete', 'onload', 'onlosecapture', 'onmousedown', 'onmouseenter', 'onmouseleave', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onmousewheel', 'onmove', 'onmoveend', 'onmovestart', 'onpaste', 'onpropertychange', 'onreadystatechange', 'onreset', 'onresize', 'onresizeend', 'onresizestart', 'onrowenter', 'onrowexit', 'onrowsdelete', 'onrowsinserted', 'onscroll', 'onselect', 'onselectionchange', 'onselectstart', 'onstart', 'onstop', 'onsubmit', 'onunload', 'script', 'style', 'title', 'vbscript', 'xml');

Aplicando Filtro em Cookie do sistema:

            foreach($_COOKIE as $value) {
                $check = str_replace($ct_rules, '*', $value);
                if( $value != $check ) {
                    die( 'Cookie protect' );
                    unset( $value );
                }
   

Aplicando Filtro em requisição POST do sistema:

            foreach( $_POST as $value ) {
                $check = str_replace($ct_rules, '*', $value);
                if( $value != $check ) {
                    die( 'POST protect' );
                    unset( $value );
                }
            }

E assim por diante.

Proteção contra Agentes ou bots

 

  function PHP_FIREWALL_get_user_agent() {

                return $_SERVER["HTTP_USER_AGENT"];
       
    }

 

define('PHP_FIREWALL_USER_AGENT', PHP_FIREWALL_get_user_agent() );

          $ct_rules = array( '@nonymouse', 'addresses.com', 'ideography.co.uk', 'adsarobot', 'ah-ha', 'aktuelles', 'alexibot', 'almaden', 'amzn_assoc', 'anarchie', 'art-online', 'aspseek', 'assort', 'asterias', 'attach', 'atomz', 'atspider', 'autoemailspider', 'backweb', 'backdoorbot', 'bandit', 'batchftp', 'bdfetch', 'big.brother', 'black.hole', 'blackwidow', 'blowfish', 'bmclient', 'boston project', 'botalot', 'bravobrian', 'buddy', 'bullseye', 'bumblebee ', 'builtbottough', 'bunnyslippers', 'capture', 'cegbfeieh', 'cherrypicker', 'cheesebot', 'chinaclaw', 'cicc', 'civa', 'clipping', 'collage', 'collector', 'copyrightcheck', 'cosmos', 'crescent', 'custo', 'cyberalert', 'deweb', 'diagem', 'digger', 'digimarc', 'diibot', 'directupdate', 'disco', 'dittospyder', 'download accelerator', 'download demon', 'download wonder', 'downloader', 'drip', 'dsurf', 'dts agent', 'dts.agent', 'easydl', 'ecatch', 'echo extense', 'efp@gmx.net', 'eirgrabber', 'elitesys', 'emailsiphon', 'emailwolf', 'envidiosos', 'erocrawler', 'esirover', 'express webpictures', 'extrac', 'eyenetie', 'fastlwspider', 'favorg', 'favorites sweeper', 'fezhead', 'filehound', 'filepack.superbr.org', 'flashget', 'flickbot', 'fluffy', 'frontpage', 'foobot', 'galaxyBot', 'generic', 'getbot ', 'getleft', 'getright', 'getsmart', 'geturl', 'getweb', 'gigabaz', 'girafabot', 'go-ahead-got-it', 'go!zilla', 'gornker', 'grabber', 'grabnet', 'grafula', 'green research', 'harvest', 'havindex', 'hhjhj@yahoo', 'hloader', 'hmview', 'homepagesearch', 'htmlparser', 'hulud', 'http agent', 'httpconnect', 'httpdown', 'http generic', 'httplib', 'httrack', 'humanlinks', 'ia_archiver', 'iaea', 'ibm_planetwide', 'image stripper', 'image sucker', 'imagefetch', 'incywincy', 'indy', 'infonavirobot', 'informant', 'interget', 'internet explore', 'infospiders',  'internet ninja', 'internetlinkagent', 'interneteseer.com', 'ipiumbot', 'iria', 'irvine', 'jbh', 'jeeves', 'jennybot', 'jetcar', 'joc web spider', 'jpeg hunt', 'justview', 'kapere', 'kdd explorer', 'kenjin.spider', 'keyword.density', 'kwebget', 'lachesis', 'larbin',  'laurion(dot)com', 'leechftp', 'lexibot', 'lftp', 'libweb', 'links aromatized', 'linkscan', 'link*sleuth', 'linkwalker', 'libwww', 'lightningdownload', 'likse', 'lwp','mac finder', 'mag-net', 'magnet', 'marcopolo', 'mass', 'mata.hari', 'mcspider', 'memoweb', 'microsoft url control', 'microsoft.url', 'midown', 'miixpc', 'minibot', 'mirror', 'missigua', 'mister.pix', 'mmmtocrawl', 'moget', 'mozilla/2', 'mozilla/3.mozilla/2.01', 'mozilla.*newt', 'multithreaddb', 'munky', 'msproxy', 'nationaldirectory', 'naverrobot', 'navroad', 'nearsite', 'netants', 'netcarta', 'netcraft', 'netfactual', 'netmechanic', 'netprospector', 'netresearchserver', 'netspider', 'net vampire', 'newt', 'netzip', 'nicerspro', 'npbot', 'octopus', 'offline.explorer', 'offline explorer', 'offline navigator', 'opaL', 'openfind', 'opentextsitecrawler', 'orangebot', 'packrat', 'papa foto', 'pagegrabber', 'pavuk', 'pbwf', 'pcbrowser', 'personapilot', 'pingalink', 'pockey', 'program shareware', 'propowerbot/2.14', 'prowebwalker', 'proxy', 'psbot', 'psurf', 'puf', 'pushsite', 'pump', 'qrva', 'quepasacreep', 'queryn.metasearch', 'realdownload', 'reaper', 'recorder', 'reget', 'replacer', 'repomonkey', 'rma', 'robozilla', 'rover', 'rpt-httpclient', 'rsync', 'rush=', 'searchexpress', 'searchhippo', 'searchterms.it', 'second street research', 'seeker', 'shai', 'sitecheck', 'sitemapper', 'sitesnagger', 'slysearch', 'smartdownload', 'snagger', 'spacebison', 'spankbot', 'spanner', 'spegla', 'spiderbot', 'spiderengine', 'sqworm', 'ssearcher100', 'star downloader', 'stripper', 'sucker', 'superbot', 'surfwalker', 'superhttp', 'surfbot', 'surveybot', 'suzuran', 'sweeper', 'szukacz/1.4', 'tarspider', 'takeout', 'teleport', 'telesoft', 'templeton', 'the.intraformant', 'thenomad', 'tighttwatbot', 'titan', 'tocrawl/urldispatcher','toolpak', 'traffixer', 'true_robot', 'turingos', 'turnitinbot', 'tv33_mercator', 'uiowacrawler', 'urldispatcherlll', 'url_spider_pro', 'urly.warning ', 'utilmind', 'vacuum', 'vagabondo', 'vayala', 'vci', 'visualcoders', 'visibilitygap', 'vobsub', 'voideye', 'vspider', 'w3mir', 'webauto', 'webbandit', 'web.by.mail', 'webcapture', 'webcatcher', 'webclipping', 'webcollage', 'webcopier', 'webcopy', 'webcraft@bea', 'web data extractor', 'webdav', 'webdevil', 'webdownloader', 'webdup', 'webenhancer', 'webfetch', 'webgo', 'webhook', 'web.image.collector', 'web image collector', 'webinator', 'webleacher', 'webmasters', 'webmasterworldforumbot', 'webminer', 'webmirror', 'webmole', 'webreaper', 'websauger', 'websaver', 'website.quester', 'website quester', 'websnake', 'websucker', 'web sucker', 'webster', 'webreaper', 'webstripper', 'webvac', 'webwalk', 'webweasel', 'webzip', 'wget', 'widow', 'wisebot', 'whizbang', 'whostalking', 'wonder', 'wumpus', 'wweb', 'www-collector-e', 'wwwoffle', 'wysigot', 'xaldon', 'xenu', 'xget', 'x-tractor', 'zeus' );

 

$check = str_replace($ct_rules, '*', strtolower(PHP_FIREWALL_USER_AGENT) );
        if( strtolower(PHP_FIREWALL_USER_AGENT) != $check ) {
        
            die( "Acesso ao sistema negado" );
            exit();
        }

 

/////////////// fim da proteção contra BOTs

///////////////XSS /////////////////////

    /** protection XSS attack */

       function PHP_FIREWALL_get_query_string() {
       
            return str_replace('%09', '%20', $_SERVER["QUERY_STRING"]);
           
     
   
    }

 

        $ct_rules = array( 'http\:\/\/', 'https\:\/\/', 'cmd=', '&cmd', 'exec', 'concat', './', '../',  'http:', 'h%20ttp:', 'ht%20tp:', 'htt%20p:', 'http%20:', 'https:', 'h%20ttps:', 'ht%20tps:', 'htt%20ps:', 'http%20s:', 'https%20:', 'ftp:', 'f%20tp:', 'ft%20p:', 'ftp%20:', 'ftps:', 'f%20tps:', 'ft%20ps:', 'ftp%20s:', 'ftps%20:', '.php?url=' );
        $check    = str_replace($ct_rules, '*', PHP_FIREWALL_get_query_string() );
        if( PHP_FIREWALL_get_query_string() != $check ) {
           
            die(" _PHPF_PROTECTION_XSS ");
        }

 

/////////// fim XSS

//////////// Desabilitando Requisições no sistema

        if ( $_SERVER["REQUEST_METHOD"] == 'POST' ) {
            if (isset($_SERVER['HTTP_REFERER'])) {
                if ( ! stripos( $_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'], 0 ) ) {
                   
                    die('Requisição Post Desativada');
                }
            }
        }

 

/////////////// Fim

 

///// Protegendo Sistema de Ip Spam

 

        FUNCTION PHP_FIREWALL_get_env($st_var) {
        global $HTTP_SERVER_VARS;
        if(isset($_SERVER[$st_var])) {
            return strip_tags( $_SERVER[$st_var] );
        } elseif(isset($_ENV[$st_var])) {
            return strip_tags( $_ENV[$st_var] );
        } elseif(isset($HTTP_SERVER_VARS[$st_var])) {
            return strip_tags( $HTTP_SERVER_VARS[$st_var] );
        } elseif(getenv($st_var)) {
            return strip_tags( getenv($st_var) );
        } elseif(function_exists('apache_getenv') && apache_getenv($st_var, true)) {
            return strip_tags( apache_getenv($st_var, true) );
        }
        return '';
    }



    FUNCTION PHP_FIREWALL_get_ip() {
        if ( PHP_FIREWALL_get_env('HTTP_X_FORWARDED_FOR') ) {
            return PHP_FIREWALL_get_env('HTTP_X_FORWARDED_FOR');
        } elseif ( PHP_FIREWALL_get_env('HTTP_CLIENT_IP') ) {
            return PHP_FIREWALL_get_env('HTTP_CLIENT_IP');
        } else {
            return PHP_FIREWALL_get_env('REMOTE_ADDR');
        }
    }

     
        $ip_array = array('0', '1', '2', '5', '10', '14', '23', '27', '31', '36', '37', '39', '42', '46', '49', '50', '100', '101', '102', '103', '104', '105', '106', '107', '114', '172', '176', '177', '179', '181', '185', '192', '223', '224' );
        $range_ip = explode('.', PHP_FIREWALL_get_ip() );
        if ( in_array( $range_ip[0], $ip_array ) ) {
            die( 'Acesso negado ao sistema');
        }

 

///////////////////////////////// fim Firewall



Tornando valor randomico de uma variavel uma varivel no PHP

12 de Maio de 2011, 0:00, por Software Livre Brasil - 0sem comentários ainda

Ola pessoal, aqui vai um artigo para aqueles que necessitan de um script que no qual o valor randomico de uma variavel seja uma variavel

 

ex: $a = "asd99999";

 

$asd99999 = "";

 

Então neste script Temos:

<?php

 

//variavel 1
$num_t = "1";

//variavel 2
$mid = md5(rand('1000','9999'));


// Variavel 3
$user_flood = '';

// montando o nome da variavel de acordo com os valores das var's 1 e 2
eval("$"."a".$mid." = '".$num_t."';");

// passando
eval("\$user_flood = 'a".$mid."';");

// imprimindo o valor da nova variavel randomica
eval("echo $"."a".$mid.";");


// imprimendo o nome da nova variavel
$user_flood = "a".$mid;
echo "<br>$" . $user_flood;

?>



Função de autenticação de usuário e senha do joomla

20 de Abril de 2011, 0:00, por Software Livre Brasil - 0sem comentários ainda

<?php

/**
* @author hat 1
* @copyright 2011
*/



/**
*  Função de autenticação da versão Joomla 1.5
* Lembrando que a variavel $credentials é uma array.
*
*
*/


function onAuthenticate( $credentials, $options, &$response )

{

jimport('joomla.user.helper');



// Joomla does not like blank passwords

if (empty($credentials['password']))

{

$response->status = JAUTHENTICATE_STATUS_FAILURE;

$response->error_message = 'Empty password not allowed';

return false;

}



// Initialize variables

$conditions = '';



// Get a database object

$db =& JFactory::getDBO();



$query = 'SELECT `id`, `password`, `gid`'

. ' FROM `__users`'

. ' WHERE username=' . $db->Quote( $credentials['username'] )

;

$db->setQuery( $query );

$result = $db->loadObject();



if($result)

{

$parts = explode( ':', $result->password );

$crypt = $parts[0];

$salt = @$parts[1];

$testcrypt = JUserHelper::getCryptedPassword($credentials['password'], $salt);



if ($crypt == $testcrypt) {

$user = JUser::getInstance($result->id); // Bring this in line with the rest of the system

$response->email = $user->email;

$response->fullname = $user->name;

$response->status = JAUTHENTICATE_STATUS_SUCCESS;

$response->error_message = '';

} else {

$response->status = JAUTHENTICATE_STATUS_FAILURE;

$response->error_message = 'Invalid password';

}

}

else

{

$response->status = JAUTHENTICATE_STATUS_FAILURE;

$response->error_message = 'User does not exist';

}

}