V tom kvízu je nějaká chyba.
Já se v php a programování nevyznám, ale jeden kluk mi přes kvíz hacknul celý phpRS, naštěstí všechno zazálohoval a vrátil a řekl mi že všechny hesla se dají zjistit přes Kvízy tak ať se na to mrknu. Nevíte jak se mi tam mohl dostat?
To je vážna vec. Ak je to naozaj pravda, bolo by dobré toho hackera kontaktovať nech tú chybu zverejní, resp. nech ju oznámi autorovy pluginu, prípadne aj mne. Momentálne nemám čas to riešiť, no skúsim na to mrknúť.
No, prej nějaký číselný hesla, bohužel, já vůbec nevim kdo to byl a ani mi na sebe nedal kontakt, naše komunikace probíhala přes Návštěvní knihu. Jo a ještě jsem vám zapoměl říct, že stačí když v url [http://www.nazev-webu.cz/kviz.php?akce=kviz&idk=2] změnim tu 2 třeba na 2'...tam mi pak naskočila hláška:
you have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /3w/unas.cz/d/nazev-webu/db/phprs_sql_to_mysql.php on line 119
... where idk=".(int)$GLOBALS["idk"],$GLOBALS["dbspojeni"]);
prípadne pre stringy z $GLOBALS alebo $_GET/$_POST alebo všeobecne zo vstupu treba vždy pred zápisom do db escapovať. V phpRS je na to funkcia phprs_sql_real_escape_string.
Ešte k addslashes. Záleží na nastavení REGISTER GLOBALS a MAGIC_QUOTES_GPC na webe. Ak je na hostingu register_globals = off, prebieha načítanie polí $_GET a $_POST, pričom phpRS automaticky odescapuje vstup pri zapnutej voľbe magic_quotes_gpc = on. Ak má hosting register_globals = on a zároveň magic_quotes_gpc = off, tak tak je teoreticky možné cez neošetrený vstup GET/POST vykonať SQL injection v kóde pluginu ak by tam bola diera. Nastavenie magic_quotes_gpc = on a register_globals = on by malo zabezpečiť ochranu pred SQL injection v phpRS automaticky. Vstup sa totiž pri register_globals = off v phpRS odescapuje automaticky pomocou stripslashes() v súbore admin/aext_prom.php, za predpokladu ýe je zapnuté automatické escapovanie vstupov pomocou magic_quotes_gpc. Ten hacker je asi mimo, ale je možné že v plugine naozaj diera je, takže by som to nepodceňoval a v prípade autora skontroloval či sa nezabudlo na kontrolu všetkých vstupov.
Celkem upraveno 1×. Poslední úprava pa3k v 29.01.2007 09:21.
pa3k
Já jsem ten plugin prohlížel a všude se mi to zdálo ošetřené právě pomocí real_escape_string. Proto jsem se divil hackerem navrhovanému addslashes.