PHP & MySQL injections – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

PHP & MySQL injections – PHP – Fórum – Programujte.comPHP & MySQL injections – PHP – Fórum – Programujte.com

 

yterbium0
Stálý člen
30. 4. 2010   #1
-
0
-

Zdravím,

dal som si tento semester predmet od informatikov, a celkovo to je v pohode, len čo ma trápi je bezpečnosť. Ako úvod do týcho technologíí nám am veľa o bezpečnosti nevravia, skôr len "aby to šlo".

Ale zaujímalo by ma, kde sú najvačšie zraniteľnosti týcho systémov?

Čo si mám konkrétne predstaviť pod php injection? Poprosím konkrétny príklad :)

Tak isto aj na sql injection poprosím konkrétny príklad...

A ako najlepšie sa im brániť?

Možno začiatočnícke otázky, ale radšej takto a mať "istotu" ako to naštudovať zle a následne niečo pokašlať...



P.S. do google viem naťukať tiež, ale zaujímali by ma skôr príklady z praxe, s ktorými sste sa "najlepšie" stretli

Nahlásit jako SPAM
IP: 188.167.3.–
Curo
~ Šéfredaktor
+8
Hero
30. 4. 2010   #2
-
0
-

Je to jednoduché, cokoliv co zadává uživatel (a co může pozměnit) kontrolovat...

Při vkládání do databáze:
- řetězce: mysql_real_escape_string
- čísla: intval či jiná kontrola na číselné hodnoty

Dále kontrolovat, zda-li je vstup validní (např. očekávám li hodnoty 1 až 5, tak kontrolovat, že poslaná hodnota je v tomto intervalu).

Nevkládat soubory s názvem souboru takovým, který zadá uživatel.
Tj něco ve stylu:

include $_GET['soubor']+'.php';


Při vyýpisu hodnot z databáze na hodnoty aplikovat f-ci htmlspecialchars();, pokud vypisujeme HTML, pak při ukládání musíme ošetřit vstup tak, aby neobsahoval nepovolené tagy či události (onclick, onload...).

V dotazech používat kolem zadaných hodnot apostrofy:
select * from lide WHERE prezdivka='LordDezmont'

+ právě mysql_real_escape_string

Když vypisujeme data do inputů, pak je také ošetřovat f-cí htmlspecialchars.

Co se týče dalších bezpečnostních doporučení, pak například php soubory dát do složky, která není přístupná z webu (pouze uvnitř aplikace), mít vyplé zobrazování chyb, nepoužívat register_globals....

Nahlásit jako SPAM
IP: 88.102.243.–
Guitar Hero Master, Project führer & zdejší čaroděj.
Sleduj mě na twitteru – @lukaschury.
yterbium0
Stálý člen
1. 5. 2010   #3
-
0
-

díkes,

presne niečo takéto som si predstavoval :smile4:

Nahlásit jako SPAM
IP: 188.167.3.–
vlado09910
Návštěvník
4. 5. 2010   #4
-
0
-

To Curo : Mozem sa spytat co si predstavit pod: php soubory dát do složky, která není přístupná z webu (pouze uvnitř aplikace) - ostatne veci mi boli jasne.. mozte prosim priklad ? Som v php zaciatocnik. Dakujem

Nahlásit jako SPAM
IP: 62.168.64.–
Curo
~ Šéfredaktor
+8
Hero
4. 5. 2010   #5
-
0
-

To vlado0991 : Napíšeme na toto téma článek :).

K tvému dotazu:
máš například soubory připojení k databázi (connection.php), nějaké logování chyb (errors.php) a další PHP soubory, které sami o sobě nefungují, ale jen jsou pomocné (funkce.php...).

Aby se zvýšila bezpečnost (může se například stát, že zrovna kopíruješ daný soubor na FTP - nenakopíroval by jsi ho celý a někdo by tento soubor zadal do prohlížeče), mohla by mu vyskočit část textu (kódu) + aby útočník na tyto soubory nemohl zkoušet různé dotazy, aby se něco o tvé aplikaci dozvěděl.

Proto soubory dáš do složky, která není zobrazitelná pro uživatele, ale ty (tvá aplikace) se do ní dostane.

Technicky se to provede tak, že:
- všechny tyto soubory dáš do jedné složky a pomocí .htaccess zamezíš přístup (deny:all...)
- nebo: nastaví se document_root na podsložku (tam teprve bude index.php, obrázky...) a open_base_dir se nastaví o úroveň výše, kde budou tyto soubory (tam se ale uživatel nemůže dostat, protože document_root jej "přesměruje" přímo do podsložky).

Nahlásit jako SPAM
IP: 88.102.243.–
Guitar Hero Master, Project führer & zdejší čaroděj.
Sleduj mě na twitteru – @lukaschury.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý