Ako zabrániť strate údajov alebo ochrana pred falošným SQL.

Napsal O webu (») 13. 2. 2005 v kategorii Databáze, přečteno: 1443×

Ako zabrániť strate údajov alebo ochrana pred falošným SQL. (1.)

Pre niekoho je táto téma nová, ale mal by ju ovládať najmä ak ma dosť známi web s DB mySQL. Je to vloženie cudzieho kódu do našeho DB volania a vymazanie alebo doplnenie cudzích dát. Prebieha veľmi rafinovane a vy o tom ani neviete. Admini veľkých webov takýmto útokom čelia každý deň. No nebudeme dlho chodiť okolo horúcej kaše tu je vysvetlenie.

Vloženie falošného SQL pomocou URL

Máme url: www.neco.cz/user.php?id=1 Data s DB "vytiahneme" tradičným príkazom v php:

<?
$user_id= $_GET["id"];
$sql = "select name, adres, city from usr where id= $usr_id ";
$result = mysql_qerry($sql);
...
?>

a sql bude nasledujuci select name, adres, city from usr where id= 1 Myslíme si že je všetko ako má byť až pokiaľ sa na našom serveri nezačne nekdo zlomyseľný nudiť. Upravý cele URL nasledujúco: http://www.neco.cz/urer.php?id=1%20or%201=1 Ak si zmenime poďivné znaky %20 na medzeru, dostaneme nasledujuce Url a ešte horší príkaz SQl: http://www.neco.cz/user.php?id=1 or 1=1

a sql select name, adres, city from usr where id=1 or 1=1 keďže podmienka 1=1 bude splnená zobrazí sa namiesto dát 1 uživateľa hneď data všetkych uživateľov!!!!!!!!

Pohroma že? Ale može byť aj horšie viz. ukázka: http://www.neco.cz/user.php?id=1 delete; * from usr a ešte horši SQL: select name, adres, city from usr where id=1; delete * from usr

a pokiaľ nemáme zálohované tak si môžeme akurat vys... Keďže za ";" môže byť akýkoľvek príkaz može takto byť doplnená naša tabuľka o rôzne data.

Nabudúce si ukážeme podvrhnutie pomocou formulára a session. Nakoniec zhrnieme všetky body ochrany pred "HACKNUTIM" :O) .

ZatiaĹ toľko TUBES.
Autor: TUBES

Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel devět a jedenáct