Autor | Zpráva | ||
---|---|---|---|
kozlikar000 Profil * |
#1 · Zasláno: 2. 9. 2012, 18:08:01
Zdravím,
mám takový dotaz, zda by někdo věděl, jestli by šel obejít jednoduchý chat, pokud mám před jeho čtením takové zabezpečení.. resp. aby mi do chatu nemohl zapsat php script.. # read chat file $chat = "chat.txt"; if(strstr($text, '<?php') || strstr($text, '<?') || strstr($text, '?>')) { echo "chybne znaky, nectu to"; } else { include($chat); } dá se to nějak obejít, popř. jak ? díky. |
||
pcmanik Profil |
#2 · Zasláno: 2. 9. 2012, 19:50:40
kozlikar000:
A ak by ti tam aj ten php kód napísal, tak čo sa stane? Pokiaľ ten súbor neprehánaš cez eval, tak to ničomu nevadí. A na vloženie textu zo súboru použi túto funkciu a nie include. |
||
kozlikar000 Profil * |
#3 · Zasláno: 2. 9. 2012, 20:24:57
jo, jenze me zajima jestli se da toto osetreni obejit, aby mohl obsahovat $text nejaky php script ktery by prosel pod tim zabezpecenim.
|
||
pcmanik Profil |
#4 · Zasláno: 2. 9. 2012, 20:29:12
kozlikar000:
Načo ale vymýšlať nejaké zabezpečenie, keď môžes použiť funkciu, ktorá je na to priamo určená? A kde vlastne napĺňaš tú premennú $text? |
||
kozlikar000 Profil * |
#5 · Zasláno: 2. 9. 2012, 20:45:01
nevim jak to mam jeste rict, me nezajima pointa, nebo nejake dalsi funkce.
me zajima, jestli se da udelat v $text nejaky script v php, aby tam prosel ! |
||
Jan Tvrdík Profil |
#6 · Zasláno: 2. 9. 2012, 20:53:13
kozlikar000:
„me zajima, jestli se da udelat v $text nejaky script v php, aby tam prosel !“ Ano, je to možné. Např. <script language="php"> echo "foo"; </script> |
||
Someone Profil |
#7 · Zasláno: 2. 9. 2012, 21:15:25
kozlikar000:
Každopádně ten script nespustíš, protože to bude plain text v obyčejném textovém souboru. |
||
Joker Profil |
#8 · Zasláno: 2. 9. 2012, 22:26:09
kozlikar000:
Ono dělat include souboru s neznámým obsahem není tak úplně vhodné. Mimochodem, pokud platí strstr($text, '<?php') , platí zároveň i strstr($text, '<?') , takže ta první podmínka je zbytečná.
Kromě způsobu [#6] Jan Tvrdík ještě v případě, že server má zapnuté asp_tags, jde: <% echo "ahoj!"; %> strstr($text, '<script language="php">') bude pořád fungovat <script language='php'> , nebo varianty s více mezerami uvnitř, s tabulátory a podobně.
|
||
Jan Tvrdík Profil |
#9 · Zasláno: 3. 9. 2012, 00:58:29
Someone:
„Každopádně ten script nespustíš, protože to bude plain text v obyčejném textovém souboru.“ To je jedno. Pokud ho načte přes include, tak se spustí. Na příponě nezáleží. |
||
Časová prodleva: 12 let
|
0