Sziasztok!
Portauditot használok eddig nagy megelégedéssel. Egy hete azonban hibát jelzett a telepített mysql-client csomagomban. annak ellenére, hogy kb 30 revison beli különbség (asszem így kell szépen mondani azta számot a mi a második pont után van) van az én csomagom és a legfrissebb között úgy tűnik a hiba még mindig fenn áll.
Értelemszerűen nem távolíthatom el a mysql klienst a szerverről, úgyhogy utána olvastam a problémának:
portaudit hibaoldal:
http://www.freebsd.org/ports/portaudit/4775c807-8f30-11dd-821f-001cc037…
hiba eredeti oldala:
http://www.securityfocus.com/bid/31486
Ezeket elolvastam. Lehet, hogy rosszul értettem valamit, a következőkben azonban feltételezni fogom, hogy jól értettem. A "hiba" megtalálója, Thomas Henlich azt kifogásolja, hogy a mysql parancssori kliense nem escape-eli a HTML speciális karaktereit. :-/
Webfejlesztő vagyok, és tudom, hogy le kell törni azoknak a kezét, akik nem escape-elnek mindent az outputban. PHP-ben például létezik a htmspecialchars függvény, amin mindent át lehet futtatni mielőtt elküldené az ember a kliensnek. Megjegyezném, hogy webes környzezetben sem kizárólag HTML outputról van szó, lehet YAML, JOSN és ezer más, és mindegyikben másfajta escape-elséről van szó.
Mivel parancssori kliensről írnak, gondolom CGI szkriptek lennének szükségesek a "gyenge pont" kihasználására. Ha CGI-t írok, akkor sem gátol meg semmi abban, hogy írjak egy saját htmlspecialchars függvényt, így egyszerűen nem látom miért a mysql-nek kéne megoldania ezt a feladatot. A visszakompatibilitásról nem is beszélve (jelenlegi megoldások, amik nem készültek fel arra, hogy a mysql kliens ezután < -t küldjön a < karakter helyett).
Jól látom, hogy valaki a saját nevét akarja fényezni egy "biztonsági rés" megtalálásával, ami nem is létezik, és ez valahogy átcsúszott a portaudit rostáján?
Hozzászólások
Szerintem nézd meg Thomas Henlich többi bugreportját is, aztán dönts :D
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
Pontosítok: az mysql bugreport elolvasása után:
http://bugs.mysql.com/bug.php?id=27884
$ mysql --html --execute "select '<a>'"
Tehát a mysql saját HTML outputjáról van szó. Használja valaki ezt valamire? Főleg on-line környzeetben?
Szerintem hülyeség, amit ír.
Ha HTML kimenetet választasz, akkor html jöjjön ki, s ne legyen escape-elve a < >. Ettől lesz html a kimenet.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
Ez is igaz. Ha van HTML output miért ne tárolhatna html fragmenteket az ember... Talán egy plusz kapcsoló lenne a logikus megoldás, ami meghatározza (ki/be kapcsolja) az escape-elést.
Persze, ha nem a jelenleg dokumentált működést hozza, akkor az egértelműen hiba.