Hozzászólások
-
SzerzőBejegyzés
-
Bevallom most nincs időm kipróbálni, de én első körben nem az oprendszerre, hanem a böngészőre gyanakodnék.
Az egyáltalán nem egyedi eset, hogy IE Firefox párosnál oda kell figyelni.
Szerintem próbáld meg Win alatt Firefox böngészővel, ha ott sem megy, akkor egyértelműen nem Linux problémaSzerk.: Természetesen ilyet nem is kérdezek meg, hogy engedélyezve van-e a JS a böngészőkben 🙂
xcut wrote:2.) én komolyabban vettem a dolgot, a biztonsági rendszerem nagyjából az unixos modell és az iptables keveréke ^^ bővebben, ha kiadom az első publikus alpha-t.Valahogy sejtettem, hogy ennél csak komolyabb megoldás létezik 🙂
De ez egy konkrét progiban lesz, nem egy általános motor része, oda nyilván kifinomultabb megoldás kell. Itt csak annyit kell tudnia, hogy ne érhessen el bárki bármit. (felhasználók -> csoportok és a csoportoknak van biztonság szintje).
Így pl hírlevelet küldeni csak az tud, aki olyan csoportban (is) van, aminek a szintje legalább 5-ös.
Tehát a cél csak ennyi.Igazából az lenne a kérdésem, hogy van-e benne vmi ordító hiba (akár a kódban, akár az elképzelésben), amit kihasználva vki kijátszhatja a hitelesítést.
xcut wrote:Az SQL inject különben csak ritkán működik, és nagyot kell bakizni hozzá.
Egy motor írásakor a hangsúly inkább ott van, hogy ne tudjonak puffer túlcsordulást kihasználni, illetve, hogy ne tudják kijátszani a te általad írt jogrendszert (tehát admin jogosultságokat szerezni).Puffer túlcsordulásra mik a tipikus bakik?
A jogrendszerrel kapcsolatban afféle házibarkács megoldás van most, nemtudom mennyire jó, valszeg elég buher 🙂
Nagyjából így néz ki, minden védeni kívánt oldal eleje:$_min_user_level = 5;
require_once „auth_check.php”;Az auth_check.php pedig ezt tartalmazza:
Code:= $_min_user_level)) {
;
}
else {
Header(„Location: login.php?lang=”.$_GET[‘lang’].”&action=login”);
}
?>Tudom, hülyén van az if 🙂
És persze register_globals = offgoraki wrote:Működik-e az sql-injekció, ha a gpc qoutes be van kapcsolva? Úgy értem, hogy lehet-e közvetlen $_POST adatot adjak át mysql query-nek plCode:mysql_query(„SELECT * FROM valami WHERE mezo='”.$_POST[‘ertek’].”‘);, vagy át kell addslashoznom?
Nem értek az ilyen haxorkodáshoz így kipróbálni nem tudom, de azért megkérdem, hogy hátha tud valaki segíteni. Eddig addslashoztam, de rondán nézet ki az eredmény ezért kíváncsi vagyok, hogy elhagyhatom-e mindenféle kellemetlenség nélkül.Talán a legcélszerűbb, valami hasonlót csinálni:
Code:$text = $_POST[‘text’];
if (!get_magic_quotes_gpc())
$text = addslashes($text);Márcsak azért is, mert mi van akkor, ha olyan gépre kerül a honlap, ahol ki van kapcsolva a magic_quotes_gpc?
Számoknál meg a minimum, amit illik egy konverzió
Code:$number = (int)$_POST[‘darab’];De kérdeznék én is, ha már szóbakerült az sql injection.
Az addslashes() mennyire véd ellene?Jelenleg én valami hasonló mehanizmust használok:
Code:$text = $_POST[‘text’];
if (!get_magic_quotes_gpc())
$text = addslashes($text);if (!CheckForInjection($text)) {
exit;
}Ahol a CheckForInjection függvény még nem csinál semmit, éppen azért mert még nem olvastam utána, hogy mi az amire az addslashes után még figyelni kell.
Gondolok itt olyasmikre, hogy pl a neve helyett beíir valami komplett SQL utasítást
INSERT INTO …
GRANT…
És hasonlókwikka89 wrote:‘/(19|20)(d{2})-(d{1,2})-(d{1,2})/’ << ez mint mintaSzia!
Ez egy dátumot akar jelenteni.
19 vagy 20-szal kezdődik, utána következik pontosan két számjegy (0-9). A d ugyanaz, mintha azt irták volna, hogy [0-9]. a {2} jelenti azt, hogy pontosan két darab kell belőle. Eddig tehát pl itt tartunk: 1984
Utána jön egy – jel, aztán 1 vagy 2 számjegy, azaz 1984-2 esetleg 1984-02
Aztán mégegy – jel és ismért 1 vagy 2 számjegy.
És lőn: 1984-02-16 például.Itt is találsz egy kis leírást: http://mycroft.web.elte.hu/06_linux_regexp.html
(elég ronda szegénykém, de nem volt időm még hozzigazítani a css filehoz 🙂 )
Ja igen, két dolog még: ezen az oldalon nem kifejezetten a PHP-s szabályoknak megfelelően vannak írva a dolgok, tehát pl a speciális karakterek levédéséről szóló rész PHP-ban „nem kell”
A másik: kérdezted a rövidítéseket
d [0-9]
s [ tnr], azaz az ún. whitespace karakterek
w [0-9A-Za-z_], hivatalosan azt irják rá, hogy „szókarakterek”, azaz amik szavakban előfordulhatnak, de vigyázni kell, mert csak az angol abc szerint értendőuzsolt wrote:Dehogyisnem, szóltál. Gondolj bele, ha az egyik szekcióba nem rakod bele a nev=.* -t, mert azt nem akarod állítani, hanem egy másik szekcióban van egy ugyanolyan név, akkor szívás…
wc: biztos van opciója, hogy a file nevét ne írja ki.wc: amennyire én tudom nincs ilyen opció
Akkor mégiscsak szóltam 🙂
Lehet h csak greppel nem úszható meg, csak kell egy ciklus hozzá.
grep -> pl. [szekció_1]-tõl kezdve a file végig, ahogy mondtad, aztán ciklus a kövezkezõ [szekció_x]-ig.uzsolt wrote:MyCroft wrote:Mivel saját konfig filet-t akar kezelni, gondoltam tudja, hogy egy szekción belül hány sor lesz 🙂
(Legalábbis a példa alapján úgy tûnik)uzsolt wrote:Igen, ezt tudom, csak az a ‘num’ zavar, mert nem tudod, hogy utána mennyi van még. Persze lehet egy olyat csinálni (most jutott eszembe), hogy megszámolod a konfig file sorait, és annyi sort íratsz ki (annyi biztos elég:), azaz:Code:grep -A `wc -l filenev` „[szekció]” filenevMivel saját konfig filet-t akar kezelni, gondoltam tudja, hogy egy szekción belül hány sor lesz 🙂
(Legalábbis a példa alapján úgy tûnik)uzsolt wrote:Szerintem a grep-nek van olyan paramétere, amely azt mondja, hogy találat után mindent írjon ki.Van, illetve valami hasonlót lehet csinálni.
-A num: Az illeszkedést mutató sorok UT -
SzerzőBejegyzés
legutóbbi hsz