Svijet hackera
Hackers world
UPOZORENJE!!!!
  • Warning!!!!
    Copyright © 2006-2011, . Nisam odgovoran za nikakvu eventualnu štetu nastalu korištenjem programa i primjenom nečega zapisanog u bilo kojem postu. Oni su tu radi proširivanja računalnog znanja i koristite ih na vlastitu odgovornost.
zabrana desnog klika
baner
Nema zapisa.
Anketa
Treba li ukloniti zabranu desnoga klika misem na blogu?



Anketa
Da li vam je blog koristan?



Blog
subota, veljača 26, 2011
Ukoliko ste ikada koristili Windows OS onda ste vjerovatno već imali priliku da vidite "Blue Screen Of Death", odnosno BSOD. U ovom tutorijalu ću vam objasniti neke detalje o tome šta zapravo predstavlja BSOD i ponuditi određene opcije koje bi vam mogle pomoći prilikom rješavanja problema. Bitno je znati da, ukoliko je win sistem tako podešen da se usljed sistemske greške automatski resetira, nećete biti u mogućnosti da vidite BSOD, a više informacija ćete naći u event viewer-u. Znači, neophodno je da diseblujete automatski restart nakon greške. Diseblovanje ove opcije pronaćićete u System Properties-u.

Šta je BSOD

Kada se windows susretne sa situacijom koja onemogućava sistemsku operaciju (na pr: "bug"), dolazi do specifičnog pada sistema. To se još naziva i system crash, kernel error, system fault, ili Stop error.. Tom prilikom se ekran prebacuje u VGA tekst mod, iza je plava pozadina i zatim dolazi do prikazivanja error poruke. Upravo zbog te plave boje u pozadini i naravno njene osobine dobjen je i naziv Blue Screen of Death

Forma BSOD-a

Izgled tj. forma poruke BSOD-a zavisi od uzroka greske. BSOD može imati sledeću formu:
STOP: 0x00000079 (0x00000002,0x00000001,0x00000002,0x00000000)
U ovom slučaju prva vrednost (0x00000079 – sve vrednosti u ovom zapisu su hexadecimalne) je poznata kao bugcode ili Stop code. Ostale četiri cifre (bez zagrada) čine BSOD listu parametara i imaju vrednosti koje su zavisne od bugcod-a..
Druga forma BSOD –a je:
STOP: c000021a (Fatal System Error).
Pored navedenih, i druge hexadecimalne informacije mogu biti prikazane u BSOD-u.
One mogu sadržati:
• Naziv drajvera ili servisa koji je izazvao BSOD
• Tekstualno objašnjenje razloga nastanka BSOD-a
• Moguće načine popravke
• Kernel deo memorije sa adresama
Postoji preko 250 dokumentovanih BSOD kodova i mnogi od njih su dokumentovani samo kao "This bug check appears very infrequently." (ovo je cjelokupan tekst citiran direktno iz Microsoft dokumentacije). I nažalost, većina BSOD kodova sadrže nelogi;ne adrese tako da je slaba vajda od njih.. Iz ovoga zaključujemo da u okviru BSOD-a možemo pronaći samo deo uzroka pada sistema, i neophodno je znatno dublje istraživanje.

The Microsoft Device Driver Kit (poznatiji kao DDK) navodno sadrži listing svih dokumentovanih BSOD bugkodova. Ipak, činjenica je da postoji više bugkodova od onih koji su dokumentovani u DDK.

Lista najčešćih uzročnika BSOD-a

Postoji opšteprihvaćena lista uzročnika koji najčešće izazivaju BSOD. S tim u vezi, bitno je da korisnici budu obazrivi sa 3rd party hardverom i drajverima koji nisu WHQL sertifikovani.
U ovu listu spadaju:
• CDROM/CD-RW/DVD-RW
• Eksterni hard diskovi
• Antivirusni programi
• Eksterni uređaji za bekap
• Programi za "održavanje" grafike.

Pojava BSOD-a, načini popravke i Kernel terminologija

Pojava

Kada se BSOD pojavi, započeta operacija na sistemu se ne može nastaviti. Većina BSOD-a ne izaziva oštećenje podataka, pogotovo ako je u pitanju NTFS file sistem. Ukoliko se javi bugcheck, korisnik bi na osnovu njega trebao da otkrije način da reši problem i takođe da otkrije koji softver ili drajver može biti uzročnik greške. Ukoliko na BSOD ekranu primetite neke podatke i u njima naziv nekog drajvera, upravo taj drajver je potencijalni izazivač problema.

Načini popravke

U suštini nema baš mnogo načina otklanjanja greške i uglavnom svako pokuša jednostavan restart što za divno čudo ponekad i reši problem. Ukoliko se i posle toga BSOD pojavi, potrebno je izvesti određene korake. Ukoliko smo skoro instalirali neki softver ili ubacivali nešto od hardvera potrebno je proveriti da nešto od toga nije izvor problema. Svi win useri bi trebali da obrate pažnju na softver koji instaliraju i da budu obazrivi sa driverima koji nisu WHQL sertifikovani.

Treba uraditi sledeće:
• Proveriti u event viwer-u da nema neka prijavljena greska
• Pokrenuti Chkdsk/f/r i proveriti sve particije..

Btw: ukoliko su vam particije formatirane u FAT, određeni fajlovi koje win koristi mogu biti uništeni ako se scandisk ili drugi MS-DOS bazirani HD toolovi pokrenu iz cmd-a. Uvek koristiti verziju Chkdsk koja odgovara verziji vašeg win-a., a to se obično ovde nalazi: C:\winnt\system32 ili %SystemRoot%\system32.

Novi hardver dodat ili je postojeći modifikovan

Prvo ćemo početi od slučaja kada je novi hardver dodat ili je postojeći modifikovan.

U ovom slučaju treba uraditi sledeće:

• Pokrenuti soft koji dobijate uz hardver od strane proizvođaca
• Proverite sve konatkte, kablove ulaze/izlaze itd.
• Proveriti da li su instalirani latest driveri i da li je instaliran poslednji sp za win.
• Proveriti System Log u Event Viewer-u da li je “pribeležen” neki error.
• Ukloniti sumnjiv drajver ili uređaj, restartovati komp i proveriti da li je problem rešen.

Popravka putem safe mode-a

Pri podizanju win-a pritiskajte f8 i pojaviće vam se safe mod screen sa nekoliko ponuđenih opcija Ako se BSOD javio nakon instalacije novih ili apdejtovanih drajvera, ti drajveri bi trebali da se uklone ili zamene odgovarajućima. Ukoliko se BSOD javio za vreme startup procesa, bićete u mogućnosti da upotrebite Safe Mode booting da biste preimenovali i/ili izbrisali drajver koji je uzročnik problema..U safe mod screenu se može izabrati i Last Known Good Configuration, čijim će se odabirom učitati system sa poslednjom konfiguracijom koja je radila ok.

Identifikacija drajvera

Pri BSOD-u će se u error-u identifikovati uređaj koji je izazvao problem. U tom slučaju treba ukloniti taj uređaj i izbrisati njegove drivere. Da biste saznali da li je driver iz m$ paketa, obratite pažnju na donju tabelu.

Lista NT drajvera koji se mogu javiti u BSOD-u:
Image

Kernel terminologija

Bugcode - Heksadecimalna vrednost koja identifikuje BSOD. Primer je 0xA, koji identifikuje ovaj BSOD kao IRQL_NOT_LESS_OR_EQUAL BSOD
Driver - Ovo je kernel mode program koji je deo Windows OS-a i koji upravlja svim zahtevima kod određenih uređaja. Na pr display driver koji “sakuplja” komande sa win aplikacija i prosledjuje hardveru sta da “iscrta” na ekranu.
Exception - Error uslovljen drajverom koji izaziva gresku ili pad sistema
HCT - Hardware Compatibility Test. Ovo je veoma važan Microsoft validation test za drajvere koji, ukoliko su ga prošli, omogućava istima da budu smešteni u Microsoft's Hardware Compatibility Listu. Ukoliko je drajver uspešno prošao HCT, veoma je mala verovatnoća da je upravo on uzročnik BSOD-a.
HCL - Hardware Compatibility List. Ovo je m$ lista sertifikovanih drajvera koji su prošli Hardware Compatibility Test (HCT).
IRQL - Interrupt ReQuest Level. U toku procesa, NT kernel će proći kroz različite oblike. Ovi oblici su poznati kao IRQL i identifikovani su kompletom celih brojeva i to od 0 do 31. Kod svakog IRQL postoje specifična pravila kojih se moramo pridržavati.. Na pr određene memorijske reference mogu jedino biti izvršene kod odredjenog IRQL-a, a kod ostalih to neće biti slučaj.
IRP - I/O Request Packet. Standardni paket I/O zahteva koji se šalju drajverima. Tipični I/O zahtevi trebali bi predstavljati aktivnosti kao što su: čitati, pisati, otvarati, zatvarati..
onPaged Pool - Ovo je područje kernel memorije koje ne može da bude “adresirano” izvan memorije (na pr:, Paged Pool). Obično će drajver odvojiti takvu memoriju tako da će moći da pristupi bilo kom IRQL.
NT kernel - Generično ime za Windows operativne sisteme posle Win3x/Win9x. On uključuje Windows NT 4, Windows 2000, Windows XP i Windows .NET
Paged Pool - Ovo je područje kernel memorije koje može biti “adresirano” van diska ukoliko ono nije trenutno upotrebljeno, tj. zauzeto.
Service ili System Service - Ovo je program koji nije deo kernela i koji izvršava zadatke u korist drugih procesa. Korisnik ne može direktno pristupiti ovom servisu, ali zato programi/aplikacije mogu da zadaju zahtev servisima za njihovo izvršavanje.
WinDBG - Ovo je Windows Kernel Mod debugger koji je ekvivalentan naprednim verzijama sledećih debuggera UNIX sistema: dbx, gdb, kdb, kgdb.
Wintel - Stenografija za Windows/Intel.

BSOD - Objašnjenja

U nastavku ću vam izneti BSOD poruke koje se uglavnom javljaju. Sami vidite da se pri erroru javlja određen pojam koji opisuje i sam problem. Na pr “file system error” znači da nešto nije uredu sa sistemskim fajlovima itd.

Bugcode 0xA - IRQL_NOT_LESS_OR_EQUAL

Ovaj BSOD se javlja pri pokušaju pristupa netačnoj adresi memorije.
Parametri:
1 * adresa na koju je neispravno upućeno.
2 * IRQL koji se zahteva za pristup memoriji
3 * tip pristupa, pri čemu 0 označava operaciju čitanja, a 1 operaciju pisanja.
4 * adresa uputstva koja upućuje na memoriju u parametru 1

Popravka:
• Last Known Good Configuration
• Repair sistema
• Roll Back Driver
• Recovery konzola
• Ispitati nedavno instalirani hardver
Bugcode 0x1E - KERNEL_MODE_EXCEPTION_NOT_HANDLED
Javlja se kada program za obradu grešaka ne prihvati grešku napravljenu od strane drajvera. Znači, nastaje kada se opozove loša memorijska adresa.

Parametri:
1 * exception code
0x80000002 = unaligned data reference encountered
0x80000003 - a kernel breakpoint/ASSERT encountered
0xC0000005 - dogodio se zabranjen pristup memoriji
2 * adresa greške
3 * parametar 0 greške
4 * parametar 1 greške

Popravka:
• Proveriti da li su instalirani latest drajveri za ploču
• Ukoliko su u skorije vreme instalirani sumnjivi drajveri ili softver, treba se obratiti posebna pažnja.
• Erorr se javlja posle prvog restarta i to za vreme učitavanja Windowsa ili nakon završetka učitavanja. Takođe se može javiti ukoliko nema dovoljno mesta na disku za instalaciju. U tom slučaju izbrišite sve nepotrebne stvari koje vam nisu potrebne, tipa temp fajlovi i ostali trash.

Bugcode 0x2E - DATA_BUS_ERROR

Javlja se kada je error detektovan u sistemskoj memoriji a problem je hardverske prirode, tj. kad je ubačeni hardware oštećen ili nije dobro podesena konfiguracija za njegov rad. Najčešće su u pitanju: oštećena radna memorija, Level 2 RAM cache greške, ili video RAM greške. Takođe i HD može biti krivac ovog BSOD-a.
Parametri:
1 * Virtualna adresa koja je izazvala kvar
2 * Fizička adresa koja je izazvala kvar
3 * Processor status register (PSR)
4 * Faulting instruction register (FIR)
Popravka:
• Postoji mogućnost da novi hardver nije dobro podešen, stoga rešenje potražite u odeljku „Novi hardver dodat ili je postojeći modifikovan“
• Proveriti system dal nema virusa i ostale gamadi
• Odraditi Chkdsk/f/r (kucati u command promptu) na sistemskoj particiji.

Bugcode 0x3F - NO_MORE_SYSTEM_PTES

Javlja se kada system izvrši previše I/O akcija i tada dolazi do fragmentovanja "system page tabele" - (PTE). To se dešava ukoliko odgovarajući drajver ili aplikacija nije uklonjens kako treba.
Parametri:
1 * tip PTE-a , gde 0 predstavlja ekspanziju sistema , a 1 predstavlja ekspanziju nonpaged pool-a.
2 * veličina memorijskog zahteva
3 * ukupno slobodnih PTE-sa
4 * ukupno PTE-sa
Popravka:
• Ukloniti sav softver koji ste instalirali u skorije vreme, a posebno backup aplikacije.

Bugcode 0x22 - FILE_SYSTEM

Javlja se usled greške kod sistemskih fajlova. Javlja se u slučajevima kada se set sistemskih fajlova razlikuje od onog kada system normalno funkcioniše i razlog ove greške su oštećeni dll fajlovi kao i softver kupljen na buvljaku :>.
Parametri:
1 * broj linije/oznake ugrađenog modula
2 * nije upotrebljen
3 * nije upotrebljen
4 * nije upotrebljen
Popravka:
• Repair/clean install.

Bugcode 0x44 - MULTIPLE_IRP_COMPLETE_REQUESTS

Višestruki zahtev za završetkom slanja IRP-a (I/O Request Packet). Što se tiče popravke, korisnik treba da obrati pažnju na sve aplikacije koje su pokrenute u trenutku pada sistema.
Parametri:
1 * IRP adresa
2 * Rezervisan
3 * Rezervisan
4 * Rezervisan
Popravka:
• Nema popravke.

Bugcode 0x4E - PFN_LIST_CORRUPT

Dolazi do oštećenja Page Frame Number (PFN) liste. Što se tiče popravke, korisnik treba da obrati pažnju na sve aplikacije koje su pokrenute u trenutku pada sistema.
Parametri:
1 * tip oštećenja
2 * PFN u trenutku greške.
3 * informacije o strani
4 * Rezervisan
Popravka:
• Nema popravke.

Bugcode 0x5 - INVALID_PROCESS_ATTACH_ATTEMPT

Ovo ukazuje da kernel proces pokušava da se poveže sa drugim procesom. Ova greška posebno utiče na win server. Što se tiče popravke, korisnik treba da obrati pažnju na sve aplikacije koje su pokrenute u trenutku pada sistema.
Parametri:
1 * Rezervisan
2 * Rezervisan
3 * Rezervisan
4 * Rezervisan
Popravka:
• Nema popravke.

Bugcode 0x50 - PAGE_FAULT_IN_NONPAGED_AREA

Javlja se kada drajver pokuša da pristupi memoriji kojoj se ne može pristupiti u trenutnom IRQL-u. Sistem će pružiti informacije isticanjem naziva drajvera koji je uzrok BSOD-a.
Parametri:
1 - adresa na koju je upućeno
2 - tip pristupa, pri čemu 0 označava operaciju čitanja, a 1 operaciju pisanja.
3 - adresa uputstva koja upućuje na memoriju u parametru 1
4 - rezervisan
Popravka:
• Postoji mogućnost da novi hardver nije dobro podešen, stoga rešenje potražite u odeljku Novi hardver dodat ili je postojeći modifikovan
• Ako imate instaliran antivirus, sprečite da vrši skeniranje, a ako se i posle toga problemi nastave, potpuno uklonite antivirus.
3.10 Bugcode 0x7B - INACCESSIBLE_BOOT_DEVICE
Ovaj error znači da windows ne može da pristupi sistemskoj particiji za vreme setup/boot-a.
Parametri:
1 * rezervisan
2 * 0
3 * 0
4 * 0
Popravka:
• Ovaj error nastaje kada se user ne pridržava instrukcija u toku instalacije. Umesto toga korisnik pokušava da instalira Windows koristeći Microsoft supplied installer (na pr: setup.exe or winnt.exe u I386 direktorijumu instalacionog medija). Razlog nastanaka ovog BSOD-a je taj što PC proizvodi upotrebljavaju “emulated” disk gde postoje posebni drajveri koji se moraju naći u Windows boot-u da bi iščitali informacije na tom disku. Oni nisu prihvaćeni ni na jednoj m$ distribuciji. Popravka se u ovom slučaju vrši restartom u toku instalacije upotrebom "the outlined# metode. Ovaj BSOD se može javiti i nakon uspešne instalacije, znači ne mora biti slučaj kao što sam gore pomenuo. U tom slučaju butujte system sa win diska i u recovery konzolu kucajte Chkdsk

Bugcode 0x7F - UNEXPECTED_KERNEL_MODE_TRAP

Greška se javila od strane CPU-a i krenel ne uspeva da izbegne taj neočekivan prekid. Postoje prvi i drugi nivo prekida koji kasnije izazivaju errore koji se nadovezuje na ranije errore što se najčešće završava krashom sistema..
Parametri:
1 * broj prekida
0x000000000 - "deljenje nulom" greska
0x000000004 - prekoračenje (owerflow)
0x000000005 - "Bounds check" greška
0x000000006 - neispravan Opcode
0x000000008 - Dvostruke/višestruke greške
2 * rezervisan
3 * rezervisan
4 * rezervisan
Popravka:
• Postoji mogućnost da novi hardver nije dobro podešen, stoga rešenje potražite u odeljku Novi hardver dodat ili je postojeći modifikovan.

Bugcode 0x8E - KERNEL_MODE_EXCEPTION_NOT_HANDLED

Javlja se kada program za obradu grešaka ne prihvati grešku napravljenu od strane drajvera. Znači, nastaje kada se opozove loša memorijska adresa.
Parametri:
1 * exception code
0x80000002 - unaligned data reference encountered
0x80000003 - a kernel breakpoint/ASSERT encountered
0xC0000005 - memory access violation occurred
2 * adresa na koju je upućen zahtev
3 * moment prekida
4 * Rezervisan
Popravka:
• Proveriti da li su instalirani latest drajveri za ploču
• Ukoliko su u skorije vreme instalirani sumnjivi drajveri ili softver, treba se obratiti posebna pažnja.
• Erorr se javlja posle prvog restarta i to za vreme učitavanja Windowsa ili nakon završetka učitavanja. Takođe se može javiti ukoliko nema dovoljno mesta na disku za instalaciju. U tom slučaju izbrišite sve nepotrebne stvari koje vam nisu potrebne, tipa temp fajlovi i ostali trash.

Bugcode 0xC000021A - STATUS_SYSTEM_PROCESS_TERMINATED

Ističe da se greška javila u grafičkom podsistemu. Win zahteva da grafički podsistem normalno radi da bi win nastavio operaciju. Najčešće će drajver koji je krivac za nastanak problema biti identifikovan kao winlogon.exe sto u prevodu znaci da je doslo do oštećenja win32k.sys fajla..
Parametri:
1 * Rezervisan
2 * Rezervisan
3 * Rezervisan
4 * Rezervisan
Popravka:
• Ova greška se popravlja jednostavnim restartom, a ako se tim putem ne dodje do rešenja neophodno je pokrenuti Chkdsk/f/r radi detektovanja i ispravljanja bilo kog fajla koji je oštećen.

Bugcode 0xC0000221 - STATUS_IMAGE_CHECKSUM_MISMATCH

Drajver ili sistemska biblioteka je oštećena na disku. Ovo se retko javlja i samo nekoliko puta je primećeno. Javlja se pri grešci u toku prenošenja image podataka sa emulated diska na win os.
Parametri:
1 * Rezervisan
2 * Rezervisan
3 * Rezervisan
4 * Rezervisan
Popravka:
• Ova greska se popravlja jednostavnim restartom, a ako se tim putem ne dođe do resenja neophodno je pokrenuti Chkdsk/f/r radi detektovanja i ispravljanja bilo kog fajla koji je oštećen.

Bugcode 0xD1 - DRIVER_IRQL_NOT_LESS_OR_EQUAL

Drajver pokušava da pristupi memoriji dok je CPU u neodgovarajućem IRQL adresi, tj. do[lo je do poreme'aja mapiranja IRQL adresa u operativnom sistemu.
Parametri:
1 * adresa na koju je neispravno upućeno.
2 * IRQL koji se zahteva za pristup memoriji
3 * tip pristupa, pri čemu 0 označava operaciju čitanja, a 1 operaciju pisanja.
4 * adresa uputstva koja upućuje na memoriju u parametru 1
Popravka:
• Nema popravke.

Bugcheck 0xC2 - BAD_POOL_CALLER

Kernel tred/proces pruža pogrešno memorijsko odobrenje zahteva.
Parametri:
1 * Rezervisan
2 * Rezervisan
3 * Rezervisan
4 * Rezervisan
Popravka:
• Nema popravke.

Bugcheck 0xC4 - DRIVER_VERIFIER_DETECTED_VIOLATION

Driver Verifier facility (DVF) je detektovala da uređaj nije prošao verifikaciju od strane driver verifier-a.
Parametri:
1 * Error code
2 * Rezervisan
3 * Rezervisan
4 * Rezervisan
Popravka:
• Javlja se samo u slučaju da je DVF enablovan. Driver Verifier je takođe i automatski enablovan u toku rada Microsoft Hardware Compatibility Test-a (HCTs). Rešenje je jednostavno udariti disable i to je to.

http://www.ljuska.org

hackingworld @ 17:20 |Komentiraj | Komentari: 2 | Prikaži komentare
ponedjeljak, listopad 11, 2010
Zaštita od SQL Injectiona

evo kao primjer jedan jednostavni kod: (traženje usera u bazi)



Code:

<form action="." method="post">
    <input type="text" name="username" />
    <input type="submit" name="sbm" value="Search!" />
</form>

(...)

mysql_connect("localhost", "guest");
mysql_selectdb("db1");

$mysql = mysql_query ("SELECT * FROM `table` WHERE USER = $_POST['username']");
$arr = mysql_fetch_array ($mysql);

foreach ($arr as $key=>$entry)
      echo "$key-$entry <br >";


Ovaj kod ne da je nesiguran, nego kao da trazi da ga netko probije.... problem je da šta god korisnik upiše u polje, to će SQL server i izvrišti..... šta bi npr bilo da koristnik upiše:
"nitko; DROP TABLE `table`" i klikne Search!???? mysql query bi izgledao: "SELECT * FROM `ṫable` WHERE USER = nitko; DROP TABLE `table`;". Drugim rjecima, ode vam tablica.... nema je!

Kako se zaštititi.... vrlo jednostavno. Koristite funckiju za escapanja zlih znakova kod mysql-a.... Ta se funkcija zove: mysql_real_escape.... tako da bi siguran kod izgledao:

Code:
$mysql = mysql_query ("SELECT * FROM `table` WHERE USER = ". mysql_real_escape($_POST['username']);


Ali ni to nije to..... u ponekim serverima, ima jedna stvar koja može naštetiti kod korištenja funkcije.... ta se stvar zove MagicQuotes.... To je automatsko escapanje ugrađeno u PHP, ali JE NESIGURNO I NEEFIKASNO.... zato, na ponekim serverima, trebate disablat to.... ili možete koristiti sljedeću funckiju:

Code:
function safe($value) {
  if (get_magic_quotes_gpc()) //dali je magic quptes ukljucen
     $value = stripslashes($value); //ako je, ponisti sta je napravio
  if (!is_numeric($value)) //dali nije numericka vrjednost (dali je string?)
    $value = "'" . mysql_real_escape_string($value) . "'"; //ako je string, escapaj ga kako spada
  return $value;
}


i sada koristite:

Code:
$mysql = mysql_query ("SELECT * FROM `table` WHERE USER = ". safe($_POST['username']);



IZBJEGAVANJE XSS NAPADA

Kao prvo.... XSS napadi su najčešće moguci zato jer developter stranice misli da je siguran....

1. Nemojte stavljati podatke u hidden-e..... hidden elementi se jednako lako mogu promjeniti kao i obični...
2. Svaki dio HTML koda se može promjeniti HTML javascriptom....
3. Provjeravajte ulazne podatke....
Nemojte misliti da ako npr stavite 5 vrjednosti u jedan <select> da korisnik neće moći promjeniti u nešto šta nije na listi..... provjerjavajte SVE!


Evo primjera XSS napada..... odite na http://testasp.acunetix.com/Search.asp
Upisite nesto.... primjetite da ono sta ste napisali, isto to ce vam i ispisati negdje na stranici....
Probajte mu sada upisati neki html kod.... npr <i>Bok</i> i primjetite da je Bok nakošen.... e sada... ajde otvorite ovaj URL:


http://testasp.acunetix.com/Search.asp? ... SEXYLADIES (nista perverzno, ne brinite)

Eto, to je najjednostavniji primjer XSS napada... ovom metodom ljudi vam mogu ukrasti cookie-e, a da ni ne primjetite... a ako vam ukradu cookie, ukradu vam i PHPSESSID pomoću kojeg se mogu logirati na stranicu kao vi....
Jedan najjednostavniji način obrane:
HTML escape.... znaći, ako vi i pokušate ubaciti mu html kod, on to escape-a, te prikaže kod, tj. ne izvrši ga.... možete koristiti htmlentitles....

Code:
<h1>Siguran search</h1>
<form action='.' method='post'>
    <input type="text" name="q" />
    <input type="submit" name"s" value="Trazi" />
</form>


(...)

<?php
    if ($_POST['s'] == "Trazi") {

         $q = $_POST['q'];

         echo "Pretražujem vaš zahtjev: ". htmlentitles($q);    // KORISTITE HTMLENTITLES
         require_once ("mysql_connect.php"); //spajanje na bazu
         $mysql = mysql_query ("SELECT * FROM `table` WHERE `sadrzaj` LIKE '%".safe($q)."%'");  //safe funkcija iz proslog primjera....
        (...)

    } else die("error");

?>

KORISTITE HTMLENTITLES SVAKI; ALI BAS SVAKI PUTA KADA DIO KORISNIKOVG UPITA SE ISPISUJE NA EKRAN!!!



Zaštita prilikom otvaranja filova

Evo nesigurnog koda:



Code:
<?php
    if (isset ($_POST['s']) {

        $f = fopen ("logs/".$_POST['num']."txt", "r"); //npr logs/3.txt
        $content = fread ($f, filesize($f)); //čita cijeli file
        echo $content;

    } else {
         echo "

<h1>Pogledajte  vaše log fileove</h1>

<form method='post' action='logs.php'>

     Broj file-a: <input type='text' name='num' />
     <input type='submit' name='s' />

</form>";
    }
?>

Eh, recimo da se fajl zove logs.php.... postoji 2 napada na tu foru.... Prvi je dictionary traversal, a drugi poison null byte....

dictionary traversal je: ../ otvara prehodni direktorij. Npr, ako korisnik gore upiše "../sifre", otvara logs/../sifre.txt, tj sifre.txt.....

poison null byte je: kada u php-u koristite stringove, sve poslje null-byte-a se zanemaruje..... npr, ako korisnik upise: "../login.php%00", fopen će otvarati /logs/../login.php\0.txt (%00 je hex, URL zapis, \0 je php null byte zapis), sta dođe na login.php..... tj, vidi kod i sve druge fajlove vaše aplikacije :)

Kako se zaštititi, jako jednostavno....napravite funkciju koja provjerava dali ima znakova: '\', '/', te provjerava dali je extenzija prava.... kao parametre uzima string, i array dozvoljenih extenzija

Code:
<?php
function safe_file ($str, $ext) {
     //ako ima znakova '\', '/' vrati 0

     for ($i = 0; $i < strlen($str); $i++) {
           switch ($str[$i]) {
                  case '\\':
                  case '\/':

                        return 0;
          }
     }

     //extenzija iz string-a
     $temp = split ('\.', $str);
     $EXT = $temp[count($temp)-1];

     $b = false;
    
     //dali extenzija iz stringa postoji u nizu dopuštenih
     for ($i = 0; $i < count($ext); $i++) {

          if (strtolower($EXT) == strtolower($ext[$i])) {
              $b = true;
              break;
          }
     }

     return $b;

}



i sada otvarajte file pomoću:

Code:
if (safe_file($_POST['num'], array("txt","doc","xls"))) $f = fopen ("logs/".$_POST['num'], "r");
else die ("mrs ca, hakeru!");




Zaštita prilikom korištenja system naredbe
Iako jednostavna, ova naredba može jednako jednostavno ubiti vaš system....
Postoji milijun načina kako iskoristiti tu naredbu... pa da ne oduglvlačim, zaštititi se možete pomoću escapeshellcmd naredbe:

system (escapeshellcmd("cal $_POST['bok'];"));


Mislite da je MD5 siguran???

Jeste li culi za pojam Rainbow tablice??? Ako ne, onda sigurno ne znate da Rainbow tablice služe za jako brzo crackiranje šifri.... postoje terabajti i terabajti Rainbow tabolica pogotovo za pozdane algoritme hashiranja.... najpoznatiji je MD5..... MD5 se može crackirati u roku od par skundi i to preko web-a, bez ikakvih alata....

To ne znaci da je MD5 nesiguran (ili SHA1 ili DES ili slicno).... samo ga treba ispravno koristiti...
Koristite i neke druge metode, osim najpopularnijih MD5, i SHA-1
npr.... koristite:
crypt ($salt, $password),
ili bilokoji mhash algoritam,
u kombinariji.... :) samo nije jako :)

1. Koristite salt:
md5 ($salt.$password); -> $salt neka bude vaš tajni niz znakova.... npr salt kao "&!sad7Fh#.ć" bi trebao biti sasvim dovoljan (koristite salt od min 5 znaka, i koristite svakakve znakove u njemu, inaće nema efekta).... zašto salt pomaže???
zato jer korisnici često upisuju nesigurne šifre.... šifre tipa 6 znaka i manje engleske abecede..... uz pomoć salta.... password je duži, a i ima više znakova.... sada se haker mora mučiti sa 100-njak znaka...

2. MD5 je brz.... prebrz.... i prepoznat.... koristite kombinacije, tipa:
md5(sha1($salt.$password)); ili crypt($salt, md5($password)); ili nesto drugo će sasvim izbaciti Rainbow tablice iz igre.... korištenjem salta se izbacuju BruteForceri i Dictionary napadi.... znaći, sigurno je .) Ostaje jos samo Social Engineering, sniffanje i Keylogeri... to je istina malo off topic, ali je jako važno...


Spremanje osjetljivih podataka (Siguran login)
1. Cookie su fora... ali se mogu jako lako mjenjati....
Npr, ako imate varijable tipa: username, password, authorized i sl.... Haker promjeni cookie, i usao je.... Ili, haker ukrade cookie-e i vidi korisnikovu šifru i username..... znaći, cookie samo za podatke koji mogu biti vidljivi svima, i koji ne štete nikome kada ih se mjenja...


2. Spremanje šifre: NIKADA, ali baš NIKADA NE SPREMAJTE ŠIFRU U ČITLJIVOM OBLIKU.... NEMOJTE NITI KORISTITI SAMO VLASTITE ENKRIPCIJE.... KORISTITE HASH FUNKCIJE!!!! (tek onda možete vlastitu enkripciju/dekripciju na hash ubaciti) :P
Također.... sve šifre i podatke o korisniku, u nikakav fajl, nikakvi cookie-i.... zato služe baze podataka..... jedino šta može ići u neku fajlu (ili cookie) je korisnikova konfiguracija, tj, kako da se stranica prikazuje... (tipa shema, broj poruka, itd)....

Siguran login/register stranica:

Code:
<?php
session_start(); //mora biti prva linija u php kodu...

echo "<html><head>";
if (isset($_SESSION['user'])) { //dali je korisnik logiran?
    echo "<link href='".$_COOKIE['style'].".css' rel='stylesheet' type='text/css' />";     //učitavanje CSS-a pomoću COOKIE-a..... ovo nemože naštediti sistemu, pa može biti u COOKIE-u

    (....)

} else if (isset ($_POST['login'])) { //dali se korisnik želi logirat???
    $hash = crypt ($salt, md5($_POST['psw'])); //korištenje kao opisano gore...

    require_once ("mysql_connect.php"); // spajanje na bazu
    $mysql = mysql_query ("SELECT * FROM `table` WHERE `username` = ".safe($_POST['user'])." AND `psw` = ".safe($hash).";"); //korištenje safe funkcije od gore



    if (mysql_num_rows($mysql) == 1) { //dali je neđen točno 1 korisnik koji koristi određeni username i password?
         $_SESSION['user'] = $_POST['user']; //postavljanje sessiona
         include ("user_pages.php");
    } else if (mysql_num_rows($mysql) == 0) { //ako nije
        echo "Wrong login!!!";
        include ("login.html");
    } else  //ako ih je nađeno više, javi grešku....
         die (" SYSTEM ERROR!!! ERROR NUMBER: 666;  PLEASE REPORT THIS TO ADMINS");
} else if (isset ($_POST['register'])) { //ako se želi registrirati
     $mysql = mysql_query ("SELECT * FROM `table` WHERE `username` = ".safe($_POST['username']).";");
     if (mysql_num_rows ($mysql) > 0) {  //provjerava dali se username koristi
         echo "Username exist!!! Choose another";
         include ("register.html");
     } else {
         $hash = crypt ($salt, md5($_POST['psw']));  // duplo hashiranje
         mysql_query ("INSERT INTO `table` (`username`, `psw`) VALUES (".safe($_POST['username']).", ". safe($hash). ");"); //ubacivanje korisnika u bazu
         echo "Register sucessful! Please login";
         include ("login.html");
    }
}
?>

Sigurno slanje mail-a

Recimo da imate jednu jednostavnu mail skriptu:
mail($_POST['to'], $_POST['subject'], $_POST['message'], "From: ". $_POST['from']");
Mislim da je ovdje sve jasno..... Sada 2 razloga zašto je ovo nesigurno:
1) Korisnik može mjenjati headere (zadnji argument funkcije..... npr, može upisati u "from" polje tuđi email, i par headera koje želi (npr da poruka bude u HTML formatu))
2) Korisnik može ubaciti HTML u poruku.... znaći, ljudi bi mislili da ste vi poslali poruku sa virusom :)

Obranite se ovom funkcijom i escapajte text poruke:

Code:
<?php
    function safemail ($header) {
         $header = str_replace ("\n", "\0", $header); // mjenja svaki \n u nullbyte
         $header = str_replace ("\r", "\0", $header); // mjenja svaki \r u nullbyte
         return $header;
    }

    $to = $_POST['to'];
    $subject = $_POST['subject'];
    $msg = htmlspecialchars($_POST['message']);  //htmlspecialchars je slično htmlentitles-u, ali puno lijepše i pogodnije za mail.... mjenja samo opasne znakove
    $header = "From: ". safemail ($_POST['from']);

    mail ($to, $subject, $msg, $header);
?>


Protokol
Pratite protokol..... (http, ftp, https, ftps itd)....
Prije nego upisujete neke povjerljive podatke, pogledajte protokol: http i ftp protokoli se mogu snifati (pogodovo ako koristite wlan), tj. gledati sve pakete koje vi šaljete i na taj način saznati vašu šifru..... Pogotovo oprez u Web kafićima i sl. javnim mjestima... Ako ste na javnom mjestu i koristite wlan, ne upisujte šifre ako protokol nije https, ftps ili bilokoji koji ne završava na s :)



Keyloggeri
To su ili programi (virusi) ili uređaji koji prate vaše signale sa tipkovnice, i šalje hakeru.... Znaći, haker vidi sve šta se tipka.... Najjednostavnija zaštita je:
Pamet u glavu (pazite šta otvarate)
Antivirusni
Firewall (ali dobro podešen! Ne samo instalirati, i to je to.... već konfigurirati vlastitioj konfiguraciji, vlastitim željama)
Provjeravajte žicu tipkovnice (keylogger alati su veličine USB porta..... npr, ako koristite USB-PS/2 adapter, nebi niti primjetili da vam netko postavi keylogger... :)



Social Engineering
Iako ne spada programiranje, mislim da je potrebno pisati o tome...

Za one koji neznaju.... Social Engineering je metoda manipuliranja korisnikom u svrhu zloupotrabe podataka... Tj, haker na prevaru pokušava iz vas izvući podatke... Iako mislete da ste vi pametni, (ne kazem da niste), da vas nece prevariti itd..... reći ću vam, razmislite opet..... Social Engineering se koristi jako često i gotovo je svaki puta uspješan.... hakeri su ljudi koji znaju na sta treba ciljat... evo par smjernica:

1. Ne govorite privatne podatke nikome!!! Haker, ako ne vas, može prevariti vaše informatički-nepismene prijatelje, kolege, zaposlenike itd...
2. Ne zapisujte šifre!!!
3. Ako nekome baš morate dati šifru, napravite mu ograničena dopuštenja.... ADMINISTRATORSKU ŠIFRU SAMO VI TREBATE ZNATI!
4. Administratori ZNAJU hash vaše šifre, znaći mogu pristupiti vašem accountu i bez da znaju vašu šifru.... Administrator vas NIKADA neće tražiti šifru!
5. Pazite da nitko ne gleda dok tipkate šifru..... samo informacija koliko je dugačka i koji su sve znakovi u igri puno pomažu hakeru....
6. Email -> leglo virusa.... preko e-maila, može vam se dati URL koji krade cookie, može vam se ubaciti keylogeri, može vam se ukrasti podaci i sl..... Ne čestitke, nagradne igre, i ostale gluposti..... to su vam virusi, ako niste znali. Ili ako ste mislil da vam neće biti ništa...
7. NISTE SIGURNI!!!! NIKADA! to uvijek imajte na umu..... u informatici nitko nije siguran. Nemojte misliti da hakeri ciljaju samo na velike stvari, da ste vi nezanimljivi u toj priči.... možda baš vas iskoristi kao prolaz..... često se koristi tuđom IP adresom i ostalime kako bi se mislilo da ste vi napadač....i kao primjer može poslužiti i jedan virus nedavno izašao, mislim da se zove Storm... Koristi računala po cijelom svijetu... možda bas vaš i moj... a znate kako se širi?? Dobijete lijepu roza e-mail poruku, tipa Sretno Valentinovo, i kliknite ovjde da bi vidjeli karmu, horoskop, i sl..... znaći, ljudi su ipak dosta naivni (u informatičkom smislu) da klikaju na takve gluposti...

Također.... na nekim blogovima su ljudi stavili tipa: logirajte se na svoj blog.... vi upišete username i password, i vas stvarno logira na blog... niti ne znate da ste nasamareni.... čovijek si pošalje na mail vaše podatke toliko brzo da niti ne skužite..... ovo su samo neki primjeri....

pamet u glavu!

P. S. Moj savjet svim budućim devovima....naučite hakirati! Jedino tako ćete znati jeli vaša stranica sigurna ili nije....

Code:
http://www.hackthissite.org
hackingworld @ 19:04 |Komentiraj | Komentari: 0
petak, rujan 11, 2009
Nakon dugo vremena inaktivnosti,uskoro započinjem opet sa objavljivanjem tutoriala i svega vezano za svijet informatike,do tada pozz....
hackingworld @ 15:19 |Komentiraj | Komentari: 1 | Prikaži komentare
nedjelja, ožujak 29, 2009
zarada preko neta...kliknete i registrirate se,kada nakupite najmanje 75 dolara prebacite na pay-al account

<a href="http://www.AWSurveys.com/HomeMain.cfm?RefID=krtolin1"> $6.00 Welcome Survey After Free Registration!</a>
hackingworld @ 19:04 |Komentiraj | Komentari: 0
utorak, ožujak 17, 2009
za one koji vole ukrasavati svoj desktop, 70 tema sa instalerom...enjoy

http://rapidshare.com/files/123731449/70.themes.for.Xp.With.installation.pack.rar
hackingworld @ 13:21 |Komentiraj | Komentari: 0
utorak, veljača 3, 2009
za konfiguriranje u ruter radu :

1. U internet explorer upsiati http://192.168.1.1, ako se ne pojavi kucica za prijavu otici na network connections - local area connection properties - Internet protocol(TPC/IP) properties i namjestiti da se automatski obtaina IP adresa.
2. Nakon što se pojavi kucica za prijavu pod username upisati: admin, a pod lozinku: 0000. Nakon što se pojavi glavni izbornik ici na Run wizard - Next - Odabrati vremesku zonu - Odabrati PPPoE/ konfiguraciju - Upisati username i lozinku koju ste dobili od T-coma ili nekog drugog internet providera, u polje VPI upisati 0, a u polje VCI upisati 33, connection type je PPPoELLC. Nakon toga otici na restart. Nakon što se restartira otici pod Tools - System - Save and rebot.
3. U glavnom izborniku izabrati Home - WAN - provjeriti sva polja, za connection setting izabrati always on, ako želite da vam racunalo bude stalno na netu cim ga upalite.
4. Otici pod DHCP - DHCP server (starting IP 192.168.1.2 - Ending IP 192.168.1.254)
5. Otici pod DNS - DNS selection - Use user discovered DNS server only, user configuration:
Prefered DNS server: 192.29.150.205
Alternate DNS server: 192.29.150.204
6. Otici pod Advanced - uPnP - omoguci uPnP - Pvc0
7. Na kraju podešavanja još jedamput otici na Tools - System - Save and rebot.
8. Otici pod network connections - Local area connection properties - Internet protocol(TPC/IP) properties - Upisati slijedece:
IP: izaberi od 192.168.1.2 - 192.168.1.254
Subnet mask: 255.255.255.0
Default Gateway: 192.168.1.1
Preferd DNS server: 195.29.150.3
Alternate DNS server: 195.29.150.4
hackingworld @ 15:32 |Komentiraj | Komentari: 1 | Prikaži komentare
utorak, prosinac 16, 2008
Ako ste izbrisali neke podatke, koje niste trebali izbrisati , možete ih vrlo lako vratiti pomoću Uneraser. Na ovom linku ga možete downloadati http://hackspc.com/how-to-recover-deleted-files/
Iako ste izbrisali neki podatak i ispraznili recycle bin, on će još uvijek ostati neko vrijeme na računalu, Ostati će na računalu sve dok operacijski sutav ne za treba ponovno taj memorijski prostor.

e ovak to funkcionira.

Npr izbrisali smo neki movie file  na local discu d  . Vrlo ga jednostavno možete vratiti, instalirajte uneraser  slijedite upute sa slika .









tutorial : blaz1988
http://und3ground4all.org
hackingworld @ 09:41 |Komentiraj | Komentari: 0
četvrtak, studeni 27, 2008
Znači otvori CMD i ukucaj sljedeće:
telnet "smtpserver" 25  (tu bi trebao dobiti broj 220)
Kada uđeš, ukucaj:
HELO server.* (tu bi trebao dobiti broj 250)
MAIL FROM: ti@server.* (tu bi trebao dobiti broj 250)
RCPT TO: zrtva@server.* (opet broj 250)
DATA
I ako sve pođe dobro i javi se brojevi koje sam napisao onda je sve ok i pišeš poruku
%string% CRLF i pukneš ENTER.
Nakon toga si gotov i samo ukucaš QUIT.
Drži se tih pravila i trebalo bi biti sve OK, i kad pišeš u telnetu obvezno piši bez grešaka!

Cro_4ng3l http://und3ground4all.org
hackingworld @ 20:52 |Komentiraj | Komentari: 0
utorak, studeni 11, 2008
- koristeći dobiveni UTP mrežni kabel spojite se na Vaš modem kako bi
podesili potrebne parametre u konfiguratoru ureñaja i omogućili
spajanje u router modu rada.
- IP adresu bi trebali dobiti automatski DHCPom, ukoliko to nije slučaj,
potrebno je upisati ručno postavke TCP/IP veze za mrežnu karticu koju
koristite za spajanje na modem.
- Postavke TCP/IP konekcije su slijedeće :
1. IP address : 192.168.1.200
2. Subnet mask : 255.255.255.0
3. Default gateway : 192.168.1.1
- Nakon toga u web browser treba ukucati IP adresu 192.168.1.1, čime
se ulazi u konfigurator modema gdje se podešavaju postavke ureñaja.
- Ukoliko upisivanjem IP adrese 192.168.1.1 u web pregledniku niste
uspjeli ući u konfigurator modema, treba učiniti slijedeće :
1. u postavkama browsera izbrisati cookies, history,
temporary Internet files, te isključiti Pop-Up blocker
programe.
2. Provjeriti postavke antivirusnih i ostalih security programa,
jer postoji mogućnost da oni spriječavaju pristup
konfiguratoru modema.
3. provjeriti da li je mrežna kartica ispravna (ujedno ne smije
biti disable), te takoñer treba provjeriti ispravnost fizičke
konekcije UTP kablom izmeñu računala i modema.

Drugi korak:

Upisivanjem IP adrese 192.168.1.1 u web browseru pojavljuje se prozor za
Za ulazak u konfigurator ureñaja treba upisati slijedeće podatke :
User name : admin
Password : adslroot ili 0000
ako ste sve napravili kako treba,otvoriti ce vam se konfiguracija za modem,i tu podesite modem prema svojoj želji...
hackingworld @ 19:23 |Komentiraj | Komentari: 0
petak, listopad 17, 2008
Kada vam zaključaju modem (ne radi Online lampica) ili ste kupili novi modem pa želite da ga spojite na europroNET uradite slijedeće:

ARRIS Touchstone:
http://192.168.100.1/scanover.htm

#1 Upisati password: freq3871
#2 Clear RF Cache
#3 Downstream frekvencija: 423
#4 Upstream kanal: od 0 do 6 (probati sve varijante)
#4 Save freq

Potrebno je oko pola sata da se vaš modem otključa. Držite modem upaljenim 10 minuta i onda ga isključite iz struje i ostavite ga 20 minuta.

janson,und3ground4all.org
hackingworld @ 18:56 |Komentiraj | Komentari: 0
Arhiva
« » stu 2017
  • p
  • u
  • s
  • č
  • p
  • s
  • n
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
Brojač posjeta
143936
Index.hr
Nema zapisa.