Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sigurnost pri MySQL-u, provjeri ulaznih podataka...

[es] :: PHP :: Sigurnost pri MySQL-u, provjeri ulaznih podataka...

[ Pregleda: 5362 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Alexandar_d
Alexandar

Član broj: 44699
Poruke: 139
*.PPPoE-2149.sa.bih.net.ba.



+7 Profil

icon Sigurnost pri MySQL-u, provjeri ulaznih podataka...15.08.2006. u 17:10 - pre 215 meseci
Gledao sam po Netu i forumu ali nisam mogao da nadjem cjelinu. Da li bi neko mogao objasniti i napisati codove koji su potrebni za zastitu i sigurnost kod osnovnih php radnji? Npr. sta se sve treba filtrirati, pregledati, zastiti npr. kod konakcije i koristenja MySQL? Pa onda npr. koje sve korake treba preduzeti kod provjere ulaznih podataka koji se kasnije koriste u PHP-u... Jer nigdje nema to objedinjeno na jednom mjestu sve te zastite, provjere i sl. Meni je to sada potrebno a mislim da ce i drugima trebati.
Evo ja dajem neke od provjera koje ja znam:

Code:

/* Provjera 1: za prazno polje */
if ($text=="")
    {
    include "greska1.php";
    die;
    }
       else 
       {
       ....

/* Provjera 2: za duzinu */
    if (strlen($text) > $neka_vrijednost)
     {    
    include "greska1.php";
    die;
    }
    else
    {        
    .....
/* Provjera 3: za specijalne znakove */
    $spec_chars = "\s\-\;\:\*\+\.\(\)\[\]\{\}\?\,\"\'\#"; 
        if (preg_match("#[".$spec_chars."]#i", $text))
        {
        include "greska1.php";
        die;
        }    
        else
        {
                 .....

/* Provjera 4: za integer (ako je potrebno)*/
        function myIsInt ($x) 
            {
               return (is_numeric($x) ? intval($x) == $x : false);
            }
            function Test($x) 
            {
                   if (myIsInt($x) == false)
                {
                include "greska1.php";
                die;
                   }
               }


Ja znam da ovoga ima jos tonu narocito za MySQL i neke osjetljive stvari. Meni licno treba za MySQL i ako je potrebno jos neke provjere kod ulaznih podataka?
Ili bolje receno, sta je sve potrebno za "maksimalnu sigurnost" u PHP skriptama?
AleXandar
 
Odgovor na temu

Ivan.Markovic

Član broj: 97763
Poruke: 330

Sajt: security-net.biz


+19 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...15.08.2006. u 21:57 - pre 215 meseci
http://phpsec.org/projects/guide/sr/index.html
http://www.security-net.biz/docs/im_safe().txt


[Ovu poruku je menjao Ivan.Markovic dana 16.08.2006. u 00:06 GMT+1]
“If you think you are too small to make a difference, try sleeping with a mosquito.” - Dalai Lama
XIV
 
Odgovor na temu

bojan_bozovic

Član broj: 29028
Poruke: 3292
*.pat-pool.le.sbb.co.yu.

Sajt: angelstudio.org


+392 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...16.08.2006. u 01:06 - pre 215 meseci
dovoljan to je addslashes

1. ako neko proba sql injection - ne uspeva
2. ako numericki argument nije u opsegu baza vraca 0 redova
3. ako neko da pogresan argument pa se napravi upit sa pogrsnim tipom podatka, baza vraca gresku

To sto ti radis je nepotrebno komplikovanje, tj. tupljenje:
 
Odgovor na temu

afwt
AF Web Team
Novi Sad/Chicago

Član broj: 8220
Poruke: 337
*.hsd1.il.comcast.net.

Sajt: milos.srdjevic.net/blog


+1 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...16.08.2006. u 01:24 - pre 215 meseci
TOPLO PREPORUCUJEM knjigu:
php|architect's Guide to PHP Security
Ilia Alshanetsky

Pokriva ovu temu, a i jos gomilu! VRLO KORISNO SHTIVO! ;-)
ZelenaLutrija.com - Saznajte sve o lutriji za zelenu kartu (doživotni boravak u Sjedinjenim Američkim Državama)
 
Odgovor na temu

Ivan.Markovic

Član broj: 97763
Poruke: 330

Sajt: security-net.biz


+19 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...16.08.2006. u 09:09 - pre 215 meseci
Citat:
bojan_bozovic: dovoljan to je addslashes

1. ako neko proba sql injection - ne uspeva
2. ako numericki argument nije u opsegu baza vraca 0 redova
3. ako neko da pogresan argument pa se napravi upit sa pogrsnim tipom podatka, baza vraca gresku

To sto ti radis je nepotrebno komplikovanje, tj. tupljenje:


1. Ovo nije tacno, najbolje je koristiti mysql_real_escape_string() jer u nekim slucajevima (nekim character setovima)
je moguce preskociti addslashes.

3. Ovde opet treba da se vodi racuna o nacinu prikazivanje greske zbog XSS napada i zbog otkrivanja podataka o bazi.
Uglavnom, zbog sigurnosti, je potrebno hendlovati errorima i prikazivati neku svoju error stranicu.
“If you think you are too small to make a difference, try sleeping with a mosquito.” - Dalai Lama
XIV
 
Odgovor na temu

bojan_bozovic

Član broj: 29028
Poruke: 3292
*.pat-pool.le.sbb.co.yu.

Sajt: angelstudio.org


+392 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...16.08.2006. u 09:37 - pre 215 meseci
XSS injection je drugo, kada korisnik moze da ubaci u html svoje, npr. postuje link ka svome sajtu, ali XSS nema veze sa bazom ima li?
 
Odgovor na temu

sale83
Australia
Sydney

Član broj: 41625
Poruke: 729
*.ispone.net.au.



+30 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...16.08.2006. u 10:01 - pre 215 meseci
Citat:
bojan_bozovic: XSS injection je drugo, kada korisnik moze da ubaci u html svoje, npr. postuje link ka svome sajtu, ali XSS nema veze sa bazom ima li?


Mislis na XSS Cross Site Scripting LOL

http://212.200.81.65/testMysql.php

Klikni na Lista korisnika...

Znaci u bazu podataka je ubacen
Code:

<script>alert(document.cookie)</script>




Ali to je sve greska zato sto ne filtrira i proverava sta je korisnik uneo..



Inace sto se tice SQL inekcija najvaznije da da koristis:
Code:

mysql_real_escape_string()



Poz
sale
Sto mozes danas ne ostavljaj za sutra!
 
Odgovor na temu

Ivan.Markovic

Član broj: 97763
Poruke: 330

Sajt: security-net.biz


+19 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...16.08.2006. u 10:09 - pre 215 meseci
Citat:
bojan_bozovic: XSS injection je drugo, kada korisnik moze da ubaci u html svoje, npr. postuje link ka svome sajtu, ali XSS nema veze sa bazom ima li?


Da XSS je kad se ubaci svoj script kod tamo gde ne bi trebalo. Ja sam hteo da kazem da u slucaju kada se pojavi greska u bazi i ako se onda ista stampa (html) korisniku i to sa npr prosledjenim parametrima u koje smo pre toga stavili neki svoj script kod moguce je izvrsiti XSS napad. I zbog toga je potrebno pravilno hendlovati greskama.

Citat:
sale83
...
Ali to je sve greska zato sto ne filtrira i proverava sta je korisnik uneo..
...


Ili zato sto se pravilno ne eskejpuje kada se vraca korisniku ili kada se upisuje u bazu ...

Citat:
sale83
Inace sto se tice SQL inekcija najvaznije da da koristis:
Code:

mysql_real_escape_string()

...


Ovo sam vec rekao ... a i evo jedan link: http://shiflett.org/archive/184
“If you think you are too small to make a difference, try sleeping with a mosquito.” - Dalai Lama
XIV
 
Odgovor na temu

sale83
Australia
Sydney

Član broj: 41625
Poruke: 729
*.ispone.net.au.



+30 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...16.08.2006. u 10:19 - pre 215 meseci
Ivan.Markovic

PS- Obezbedi svoj sajt od SQL inekcija!!!!!!

Mozda gresim a ako vec se bavis sigurnoscu onda nebi trebao da radis onako kao sto si uradio
na sajtu sto ti je u podpisu...

Prikazivanje strukture SQL query-ja nikako nebi trebalo da se prikazuje na onaj nacin sto ti radis..


Poz
sale

Sto mozes danas ne ostavljaj za sutra!
 
Odgovor na temu

sale83
Australia
Sydney

Član broj: 41625
Poruke: 729
*.ispone.net.au.



+30 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...16.08.2006. u 10:27 - pre 215 meseci
Evo sad sam zvanicno utvrdio da ti sajt ima sledece propuste:

Code:

1) SQL inekcije
2) XSS 

Dalje necu da gledam...


Kad se vec bavis sa sigurnoscu prvo obezbedi svoj sajt..


Poz
sale
Sto mozes danas ne ostavljaj za sutra!
 
Odgovor na temu

bojan_bozovic

Član broj: 29028
Poruke: 3292
*.pat-pool.le.sbb.co.yu.

Sajt: angelstudio.org


+392 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...16.08.2006. u 11:23 - pre 215 meseci
Code:
O RLY?


Probaj XSS. Nema.

Editovano da m Google ne crawluje error strane.

[Ovu poruku je menjao bojan_bozovic dana 16.08.2006. u 12:58 GMT+1]

Sale83 ima linka u tvom postu :(

[Ovu poruku je menjao bojan_bozovic dana 16.08.2006. u 12:58 GMT+1]
 
Odgovor na temu

sale83
Australia
Sydney

Član broj: 41625
Poruke: 729
*.ispone.net.au.



+30 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...16.08.2006. u 11:29 - pre 215 meseci
Citat:
bojan_bozovicO RLY?

Probaj XSS. Nema.



Naravno da ima !!

Malo bolje testiraj i videces da imas XSS..


Sto mozes danas ne ostavljaj za sutra!
 
Odgovor na temu

bojan_bozovic

Član broj: 29028
Poruke: 3292
*.pat-pool.le.sbb.co.yu.

Sajt: angelstudio.org


+392 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...16.08.2006. u 11:40 - pre 215 meseci
Postojao je jedan XSS exploit na mome sajtu, vezan za postovanje web sajta mojih korisnika, ispravno escapeovano omogucavalo je da se ubaci javaskript u HTML. Ali to bese sa prvom verzijom sajta. Ako mislis da si u pravu, daj mi URL i navedi koja forma ima problem. Moji korisnici ne mogu ubaciti XSS kao svoj tekst, npr ovako http://maestitia.net/index.php?u=134 ali su mogli prteko linka.
Sto se tice login forme, dozvoljeno je A-Z a-z i 0-9 i - i _ i razmak, pa tu ne moze biti problema.
 
Odgovor na temu

Ivan.Markovic

Član broj: 97763
Poruke: 330

Sajt: security-net.biz


+19 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...16.08.2006. u 11:40 - pre 215 meseci
@sale83

Lol, poslao si mi pp a nisam gledao da si poceo da se razbacujes ovde ...
Ok odgovorio sam ti tamo zbog cega je tako ono sto si nasao a i da je ne moguce na bilo
koji nacin iskoristiti to.

Mislim da smo krenuli o offtopic tako da je bolje da se povucem ... :)
“If you think you are too small to make a difference, try sleeping with a mosquito.” - Dalai Lama
XIV
 
Odgovor na temu

Shejn
Srbija

Član broj: 11830
Poruke: 232
*.static.beocity.net.



Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...05.09.2006. u 10:49 - pre 214 meseci
@sale83
e bas ti hvala matori za ovo http://212.200.81.65/testMysql.php, ja sam ovu skriptu okacio kao bedni primer jednog pocetnika (mene), bez ikakvih provera unosa, a sada se svi navadili pa traze kako da mi upisu neko s***** u bazu.

I sta uopste ima da kopiras ovaj link iz jedne teme u drugu!

 
Odgovor na temu

m_k
Sarajevo [BiH]

Član broj: 29364
Poruke: 340
*.PPPoE-4386.sa.bih.net.ba.

Sajt: www.mkscripts.net


Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...05.09.2006. u 19:27 - pre 214 meseci
Da ne otvaram novu temu mozete li ovdje napisati koje su jos poznate metode napada (pored xss i sql injectiona)?
May the force be with you...
 
Odgovor na temu

Ivan.Markovic

Član broj: 97763
Poruke: 330

Sajt: security-net.biz


+19 Profil

icon Re: Sigurnost pri MySQL-u, provjeri ulaznih podataka...09.09.2006. u 12:04 - pre 214 meseci
Postoji mnogo metoda napada ali evo jos jedne u ovom (injection) fazonu: http://www.securiteam.com/securityreviews/5WP022K75O.html
“If you think you are too small to make a difference, try sleeping with a mosquito.” - Dalai Lama
XIV
 
Odgovor na temu

[es] :: PHP :: Sigurnost pri MySQL-u, provjeri ulaznih podataka...

[ Pregleda: 5362 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.