Links ::  | DEV web management system | Katalóg | Webhosting | Recepty
  
 Index | Registrácia | Hľadať | Galéria | BoardNeprihlásený užívateľ  //Pondelok, 11. Decembra 2017 
Navigation
Index
Top 10 autorov
Top 20 článkov
Hľadať
Galéria

Zones
Asp.(NET)
C/C++
Flash
Grafika+Design
Hardware
Hry
Html/Css/Xml
Java
Linux
Networks
Operačný systém
Pascal/Delphi
PHP
Security
Software
SQL
Visual Basic
Wap/Wml
Windows
Zóna iné

Links
Script index Interval.cz Pc.sk Regedit.sk TipyaTriky.sk Builder.cz Asp.cz Živě.sk Zoznam.sk Code.box.sk Root.cz Quant&Financial

Odkazy

Sessions
Stránky Developer.sk si práve číta 302 čitateľov, z toho je 0 zaregistrovaných

BackEnd
Odkazy na nové články je možné preberať pomocou backend.php

kuk

    Php a bezpečnosť skriptov

Mnoho správcov, len čo nainštaluje interpréter php a databázový server, pustí sa hneď po programovania zložitých dátových informačných systémov, ako je napr. elektronický obchod bez akýchkoľvek poznatkov o bezpečnosti php. Nasledujúci článok poukazuje na niektoré chyby, ktorých sa často dopúštajú programátori php.


Dopracovať sa k zdrojovým kódom php skriptov je pomerne obtiažne, pretože dobre nastavený webovský server používateľovi nikdy neodošle nič čo sa končí príponou .php, .php3, .php4, .phtml priamo, ale pošle to prekladaču php na spracovanie. Zámerne som nepovedal, že sa to nedá, pretože je to možné s použitím menšieho fígla, ktorým možno web server oklamať.

Programátori často robia veľmi hrubú chybu: niektoré súbory obsahujúce skripty ukladajú s príponou inc. Takéto súbory sa nazývajú include skripty. Include skripty sa neposielajú klientovi, slúžia iba na definovanie rôznych funkcií, prípadne obsahujú často používané dáta, ktoré sa z hlavného skriptu volajú pomocou funkcie include alebo require. Užívateľ prakticky o týchto skriptoch ani netuší, a nevie ani ich url adresu. Ak by však url adresu náhodou trafil, webovský server mu vyklopí celý zdrojový kód skriptu bez akéhokoľvek spracovania, pretože nepozná príponu inc. Toto je obzvášt nebezpečné, ak je na webovskom servri nastavená konfiguračná direktíva, ktorá dovoľuje browsovanie po adresároch. Potenciálny útočník takto môže veľmi rýchlo získať zoznam všetkých include skriptov na servri. Medzi funkcie, ktoré bývajú uložené v php skriptoch patria veľmi často aj funkcie na pripájanie k databázovým servrom. Keďže databázový server obvykle vyžaduje od klienta heslo, toto heslo je uložené v zdrojovom kóde ako parameter funkcie na pripojenie k DB.

Dalším problémom, s ktorým som sa stretol bol neošetrená kontrola vstupných dát. Ak php skriptu nanútime určité dáta, či už pomocou url adresy, alebo prostredníctvom web formulára, skript môže buď "spadnúť", napáchať škody, alebo odoslať klientovi neželané dáta. Situácia je zvlášť kritická pri neošetrenom vstupe v kombinácií s funkciou include. Webovský server nám nikdy nepošle súbory, ktoré sa nenachádzajú v adresári, ktorý má webovský server definovaný ako takzvaný web-root adresár. Web-root adresár je z pozície vonkajšej siete chápaný ako koreňový adresár danej domény, ktorý je najvyšší, neexistuje preň nadradený adresár. Preto sa prostredníctvom url adresy nemôžeme odkázať do iných adresárov, ale môžeme sa pohybovať iba v hierarchickej štruktúre web-root adresára. Situácia je však iná v kombinácií s php. Interpréter php beží na servri ako obyčajná aplikácia a nerešpektuje žiadne web-root adresáre webovského servra. Interpréter php má dosah na akýkoľvek súbor v hociktorom adresári (ak si odmyslíme práva v Linuxoch). Pomocou funckcie include môžeme takto do súboru, ktorý bude vygenerovaný a odoslaný klientovi vložiť prakticky hocičo - aj súbor s heslami používateľov /etc/passwd. Časť skriptu s neošetrenou kontrólou vstupu môže vyzerať trebárs takto:



Príklad: ak sa táto časť skriptu nachádza v skripte "skript.php", potom vyvolaním tohto skriptu pomocou url adresy s vhodnými parametrami získame akýkoľvek súbor z danej mašiny:

www.nas-server.sk/skript.php?subor=/etc/passwd

Po zadaní tejto adresy nám web server ihneď vyklopí všetky mená užívateľov daného stroja, poprípade aj ich heslá v kryptovanej podobe.


Autor : Dev, čítané 652380x, komentárov: 0
Hodnotenie :    |  Sobota, 25. Januára 2003

Pridať nový komentár/Komentáre
Vaše hodnotenie :   horšie  lepšie
Login
Login:
Heslo:

Hľadať
 
v článkoch
v diskusiach
v komentároch

Top read
PHP Coder

DEV web management system

Priklady v C. 1.čast.

Php a bezpečnosť skriptov

Autorun CD

Top discuss
Jednoduchý web formulár (ASP.NET)

Delphi seriál: (1.časť)

Velmi rychla grafika v Pascale

DEV web management system

Naša ikona
Páčia sa Vám naše stránky ? Ak áno, podporte nás prosím a umiestnite si na svoju stránku našu ikonku:





Copyright (c) Developer.sk, All rights reserved.
Powered by DEV web management system