Autor Zpráva
Destiny_1
Profil
Zdravím.
Dostal jsem úkol vypracovat nějakou práci, kterou jsem napsal procedurálně.
Ale bylo mi vytknuto bezpečnostní riziko.

- to samy vlastne index.php, tam je $_GET['url'] (musi to byt nejak osetreno proti cizakum)

- to vlastne vsechny skripty koukam … tohle tam neni poreseny nikde

- dostal jsem se ke skriptum, nekde stacilo znat url....zmenit parametr … kdyz je ten system pouzitej i jinde a vis kde tak to zneužiješ

- a to jde jen o cizi data, neresi tam ze vhodnyma parametrama ti muze nekdo promaznout i databazi


Samozřejmě všude kde jsem použil $_GET['url'] jako dotaz na sql jsem použil mysql_real_escape_string. Takže jsem si řekl že se asi jedná o podstrčení proměnných, ale moc článků na internetu jsem o tom nenašel, kde by bylo ukázáno jak se toho dá zneužít, abych celou věc lépe pochopil. Každopádně jako řešení, jsem dostal tuhle zprávu.

no reseni, to je o tom ze staci zavolat soubor s promennyma....takze to nesmi ani jit
bud tam nepovolit pristup a nebo dat do toho souboru fci, kterou teprve pustit z overeneho souboru
nedavat do souboru php bez toho aby nebylo ve fci ci tride

tyhle tri vety staci


Tak jsem umístil všechny proměnné do třídy. A používal místo $neco=... tohle prom::$neco=... A napsal jsem, že jsem úkol splnil, ale pravděpodobně se jim to moc nelíbilo a poté jsem dostal tuhle zprávu.



je to taky moznost
poslu spis priklad



function V_Wait()
{
$tx=Msg('<b>Připravuje se...</b>', 'blue');

return $tx;
}


to mu posli
tohle je samostatny soubor
include soubor a spusteni fce
nic vice, uplne jednoduchy


Ale bohužel jsem to moc nepochopil, jestli mám inicializovat všechny proměnné přes nějakou funkci, vlastně ani nevím jestli se jedná o podstrčení proměnných a nerad bych psal email že jsem to nepochopil, protože pro mě, je to velká příležitost. Proto se ptám tady, jestli víte o jaké se jedná riziko a pochopili jste, jak to vlastně ten programátor myslel. Za všechny odpovědi předem děkuji.


stránka http://example.grandmaster.cz/
obsah souboru index.php před tím, než jsem všechny proměnné vložil do třídy http://pastebin.com/3wfy4Mwt
Destiny_1
Profil
Už asi vím jak to bylo myšleno...dát celý soubor index.php do jiného souboru a vložit do funkce a v index.php by bylo pouze require_once 'soubor.php'; a zavolání funkce.
Joker
Profil
Destiny_1:
Nevím, co tím bylo myšlené. Na té ukázané stránce mi není zřejmý způsob, jakým by se dal zneužít předávaný parametr url.

Opatření „nedavat do souboru php bez toho aby nebylo ve fci ci tride“ mi přijde zbytečné.
Má dotyčný nějakou konkrétní ukázku zneužití? Nebo mohl by přijít sem a ukázat, co tím problémem myslel?
Destiny_1
Profil
Nebo mohl by přijít sem a ukázat, co tím problémem myslel?
To asi ne, ale radši to udělám tak jak chtěl. Hlavně šlo o to, že jsem vlastně nepochopil z toho co psal, o co šlo. Každopádně díky za reakci a o ukázku zneužití si řeknu a postnu jí sem.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0