Sigurni PHP izdvojena tema

poruka: 32
|
čitano: 38.303
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
Sigurni PHP

Evo, malo sam šarao webom, i iznenađen koliko loših web stranica postoji odlučio nešto napisati o sigurnom programiranju u PHP-u


Zaštita od SQL Injectiona

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

 

<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:
$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:

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:
$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?tfSearch=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....

<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:


<?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
<?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:
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:

<?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:

<?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....
http://www.hackthissite.org
(iskljucivo u dobre svrhe)

Poruka je uređivana zadnji put sri 5.11.2008 16:43 (Jazzfan).
 
36 0 hvala 35
16 godina
protjeran
offline
Sigurni PHP

Odlicnan post. Moderator moze Sticky....

Zlo i Naopako
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Sigurni PHP

tnx bestio....
sry na gramatičkim ( i ostalim) greškama, ubrzo ću ih ispraviti....
dodao sam nešto novog.... nadam se da ćete naučit nešto iz ovoga...

Prijedlozi? Primjedbe?

Poruka je uređivana zadnji put pon 2.6.2008 17:10 (Jazzfan).
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Sigurni PHP

Ovo je savršeno za za početnike u web programiranju... Zahvaljujem se u ime svih :)

16 godina
neaktivan
offline
Sigurni PHP

Nemam šta dodati osim odlično! STICKY!

Atheistic to the point of fanaticism, there u have me in a nutshell so kill me again or take me as I am for I shall not change.
 
0 0 hvala 0
15 godina
offline
Sigurni PHP

Odlican tutorial!

 

Dosta ljudi programira ali ne vodi racuna o sigurnosti pogotovo o SQL injectionu i XSS-u. U koliko je sajt ozbiljan i ako neko uleti i pokupi podatke iz baze koji mogu kriticni programer lagano moze nafrkati...

 

 

I'm going woo woo
 
0 0 hvala 0
16 godina
neaktivan
offline
Sigurni PHP

Bravo dobri hakeru! ;-)


Svaka čast za post.

sitni umovi pricaju o ljudima, srednji umovi pricaju o dogadjajima, veliki umovi pricaju o idejama.
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Sigurni PHP

Malo kasnim - zahavljujem na korisnim informacijama i stavljam sticky.

Recenzent, urednik, Bugovac, ljubavnik - ne nuzno tim redoslijedom
15 godina
neaktivan
offline
Sigurni PHP

Odličan tutorial, meni je najbolje ma koju ti zaštitu napraviš ak netko nasamari korisnika sve to pada u vodu.Smijeh

 
0 0 hvala 0
15 godina
neaktivan
offline
Sigurni PHP

Svaka cast!

Sve lijepo temeljito :D

Najvise mi se svidaju obj kako to ispravit odnosno zastiti

 

E di si bio prie 3-4 god kad sam morao sam zujat po googleu i sve to proucavat na engl.uhh.

To je trajalo danima a ovo je tako jednostavno.

 

Stvarno koristan post!

 

 

 
0 0 hvala 0
14 godina
neaktivan
offline
Sigurni PHP

Hvala jako lijepo!

Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
RE: Sigurni PHP

Stvarno dobar članak i sve je super objašnjeno samo imam jednu primjedbu a to je da se pojam Hacker ne miješa s Crackerom jer to u današnje vrijeme jako promjenio stvarni stav hackera.

15 godina
offline
Sigurni PHP

Ovo SQL Injection, to je samo kod logiranja ili i kod ispisa podataka iz baze?  Nevinašce

 
0 0 hvala 0
15 godina
offline
RE: Sigurni PHP
Ivan M. kaže...

Ovo SQL Injection, to je samo kod logiranja ili i kod ispisa podataka iz baze? Nevinašce

Mozes ga iskoristiti i pri citanju iz baze...

 

npr imas upit na str... www.stranica.com/search.php?what=trljibrlji

 

i SQL Query ti izgleda npr ovako...

 

select  <columns> from nesto where nesto like '%" + <gornji upit> + "%'"

 

ukoliko what izgleda npr ovako:

 

what=nesto%'; drop tables -- onda si u problemu...

 

dakle sa onim gore parametrom si dovrsio prethodni upit s ";" zadao si novu naredbu i sve iza te nove naredbe si predstavio kao komentar: dakle nece se izvrsit. 

I'm going woo woo
13 godina
neaktivan
offline
Sigurni PHP

Kod ovih osnovnih, ovdje opisanih stvari ima u php i funkcija, koja zna formatirati string, tako i sql upit ili naredbu. Recimo update mozemo napisati ovako:

$db-qurery(sprintf("update table set value='%s' where id=%d",$val,$id).

 

Na taj nacin su variable formatirane, $id naprimjer kao broj (maska %d) i $val kao string (maska %s). Za detalje treba pogledati opis te funkcije u manualu. Osim fornatiranja varijabli je prednoscu postavljanje tih varijabli na odredjeno mjesto u upitu pod zahtjevanim tipom varijable. No najboljim rjesenjem je koristenje pretkompiliranich upita/naredbi u databazu (naravno, kada to databaza podrzava, danas vecina, i mySQL). Tu se barata sa posebnim funkcijama za nadopunjavanje varijabli u pretkompilirani upit. Tako najprije definiramo upit/naredbu, kod prijasnjeg bi napisali

$stmt = $mysqli->prepare("("update table set value=? where id=?");
$stmt->bind_param('si', $val, $id);

 

$val = 'nekiString';
$id  = 1;

$stmt->execute();

Kada bi trebali vise puta nesto izmjeniti, treba promjeniti vrijednosti vrijabli i izvrsiti execute(); Prednoscu tog rjesenja je brze izvrsavanje naredbi i to, sto nije potrebno voditi brigu o testiranju varijabli. Funkcija/metoda bind zato strogo zahtjeva definiran tip varijable.

 

Kod oba dva nacina moramo paziti na redoslijed varijabli u parametrima te, koje funkcije, taj treba slijediti redoslijed upitnika, ili maski (%d,%s...).

 

Poruka je uređivana zadnji put sri 22.9.2010 8:51 (zuki).
 
0 0 hvala 0
15 godina
offline
RE: Sigurni PHP
zuki kaže...

...

 

Ili koristiti parametre u asp.net-u

 

http://www.aspnet101.com/2007/03/parameterized-queries-in-asp-net/

I'm going woo woo
Poruka je uređivana zadnji put sri 22.9.2010 9:06 (tnakir).
12 godina
neaktivan
offline
Sigurni PHP

Ne pratim baš puno statistiku ali nekako sam uvidjeo da je više nesigurnih siteova programirano u ASP.Net-u. (Ako netko misli da nisam u pravu, neka me ispravi {#})

xtreme.maniac
Poruka je uređivana zadnji put ned 21.8.2011 18:34 (xtreme.maniac76).
 
0 0 hvala 0
11 godina
neaktivan
offline
Sigurni PHP

Extra tutorijal, baš sam ovo tražio :)

Nego malo pitanje, koliko je ova funkcija sigurna?

 

http://pastebin.com/wktQ9rXa (Morao sam tu uploadat jer sere nešto da ima nedozvoljeni komad HTML koda)

 

stvarno trebam neku adekvatnu zaštitu, pun mi je ku*ac hakera...

i još najveći problem je što ja nikako nemogu testat tu zaštitu, svaki put ne valja što god da upišem u input polje 

Poruka je uređivana zadnji put sub 19.5.2012 12:15 (System32 CRO).
 
0 0 hvala 0
13 godina
neaktivan
offline
Sigurni PHP

Pozdrav,

 

jedno pitanjce vezano za sql napad.. Dakle  sad sam došo na laptop od starog i odem prvo na svoj gmail i naravno pošto chrome zapamti odma za ostale stranice mailove kad se klikne na ulazak u neku stranicu te ispiše mi sve mailove(usere) koje su ulazile na tu stranicu (npr:tele2, face), za ljude koje znam no ispiše mi i kodove za napad tj. za otkrivanje maila prvo, pa lozinke itd... Sad me zanima da li je moguće da mi je neko ukrao šifru maila te u njega ušao , pošto mi to radi samo na chrome-u tj. kada se prijavim u njega (gmail)... jer kada odem preko Mozille gdje nisam unosio još ništa mi nema tih naredbi... Dakle kako pamti mailove browser npr. od fejsa, tak mi je zapamtio pod mailove napade tj. točnije ove kodove: x' AND email IS NULL;--'; i x' AND user.email IS NULL;--'; ... a naravno to nisam unosio nigdje ja niti itko na mom računalu? hvala puno ; pozz {#}

Poruka je uređivana zadnji put pet 13.12.2013 16:09 (Smileyyy).
 
0 0 hvala 0
10 godina
neaktivan
offline
Re: Sigurni PHP

Gdje ti točno dolaze te poruke?

 

Malo je teško shvatljivo preko tvoje poruke gdje dolaze poruke, na kojim stranicama se to ispisuje i sl.

 

Jer ako to vidiš preko chromea a ne preko Mozille i ostalih pretraživača, moguće da ti se to događa zbog nekakvog dodatka na pretraživaču?

 

Mene zanima od kuda dolazi ta poruka ( s koje stranice ) i gdje ti se ispisuje? Ovako ti ne mogu dati puno informacija jer ni sam ne znam dovoljno za nekakvu "dijagnozu".

 

 

 

 

www.lakotuts.com
13 godina
neaktivan
offline
Re: Sigurni PHP

Dolazila je s chrome-a (facebook, gmail)... ispisuje  se u polju kad ulogiravaš u kučicu di ide ili e-mail ili korisničko ime.... Al najbolje od svega kaj mislim da sam ja to pokušavao samo nisam bio ziher... ;)

13 godina
offline
Sigurni PHP

ovo bi trebalo ili update-at ili maknut 

 
3 0 hvala 0
16 godina
offline
Sigurni PHP

Učenje i razumijevanje PHP-a neka krene sa ove web lokacije

 

http://www.phptherightway.com/

 

Ako vam je težak engleski, imate prijevod i na srpski

All software has bugs.Any developer who claims that his or her software is always bug-free is living in a fantasy world.
Poruka je uređivana zadnji put ned 11.10.2015 17:35 (Nix).
Moj PC  
1 0 hvala 1
12 godina
odjavljen
offline
Sigurni PHP

Pozdrav, zahvaljujem ti se na postu, koristan je i može pomoći u dosta situacija.

Zanima me dali postoji ikakva zaštita da korisnik ukuca u adresnu traku npr. http://mojastranica.com/folder1/folder2 i da onda dobije popis fajlova i da svaki fajl može otvoriti i skinuti. Negdje sam vidio da ljudi rade to pa bi se želio zaštititi od krađe fajlova.

 
0 0 hvala 0
13 godina
offline
Re: Sigurni PHP
Ako sam te dobro shvatio, ti bi da kada korisnik uđe u te foldere, da ne vidi te file-ove? Ako da imaš dvije metode.

1. Metoda - u svakom folderu napraviti file index.html ili index.php (može biti prazan, a možeš ga i ti oblikovati kako hoćeš). Samo je važno da se zove index.
2. Metoda - U .htaccess file napisati "deny from all" (bez navodnika). Ako je to napisano, korisniku će se prilikom pristupa folderu koji je tako zaštićen ispisati pogreška "403 / Forbidden".
12 godina
odjavljen
offline
Sigurni PHP

Jel ima kakav način da se zaštite sirovi podaci za spajanje na MySQL bazu?

 
0 0 hvala 0
13 godina
offline
Sigurni PHP

Ti bi zaštitio file u kojem su zapisani podaci od baze? Ako da, probaj u .htaccess unijeti:

 

<files ime_filea.

ekstenzija> order allow,deny deny from all </files>

 

ime_filea.ekstenzija zamijeni sa imenom datoteke u kojoj se nalaze ti podaci.

 

Javi jel uspjelo. 

Poruka je uređivana zadnji put uto 8.12.2015 16:48 (Marko :D).
 
1 0 hvala 1
12 godina
odjavljen
offline
Re: Sigurni PHP
Marko :D kaže...

Ti bi zaštitio file u kojem su zapisani podaci od baze? Ako da, probaj u .htaccess unijeti:

 

<files ime_filea.

ekstenzija> order allow,deny deny from all </files>

 

ime_filea.ekstenzija zamijeni sa imenom datoteke u kojoj se nalaze ti podaci.

 

Javi jel uspjelo. 

 

 

Ne, svaki put dobijem Internal Server Error a nisam ni otvorio postavke

 

<files _hsync_postavke.php>order allow,deny deny from all</files>

13 godina
offline
Re: Sigurni PHP
Dex.pwn kaže...
Marko :D kaže...

Ti bi zaštitio file u kojem su zapisani podaci od baze? Ako da, probaj u .htaccess unijeti:

 

<files ime_filea.

ekstenzija> order allow,deny deny from all </files>

 

ime_filea.ekstenzija zamijeni sa imenom datoteke u kojoj se nalaze ti podaci.

 

Javi jel uspjelo. 

 

 

Ne, svaki put dobijem Internal Server Error a nisam ni otvorio postavke

 

<files _hsync_postavke.php>order allow,deny deny from all</files>

Datoteka ti počinje s _?

12 godina
odjavljen
offline
Sigurni PHP

Imam fetiš na taj _ :D

 
0 0 hvala 0
Nova poruka
E-mail:
Lozinka:
 
vrh stranice