abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 12:22 | IT novinky

    V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Nová verze

    Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.

    Ladislav Hagara | Komentářů: 3
    dnes 03:22 | Nová verze

    Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 19:53 | Bezpečnostní upozornění
    V Xenu objevena zranitelnost. Chyba v mechanismu grant copy umožňuje škodlivému virtuálnímu stroji číst a přepisovat libovolnou paměť jiných VM včetně privilegované domény Dom0. Dotčené verze jsou Xen 4.6 a novější. V upstreamu jsou dostupné patche pro Xen 4.17 až 4.19 a vývojovou větev. Pro starší nepodporované verze 4.6–4.16 nejsou v XSA-523 přiloženy opravy.
    vencour | Komentářů: 0
    včera 16:55 | Nová verze

    Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).

    ʚĭɞ 🍉 | Komentářů: 0
    včera 12:22 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Nová verze

    Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána verze R14.1.7 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 4
    včera 00:33 | Nová verze

    Bazzite (Wikipedie), tj. linuxová distribuce vycházející z Fedora Linuxu a optimalizována pro hraní počítačových her, byla vydána ve verzi 45. S Open Gaming Collective (OGC) jádrem a novým Easy Anti-Cheatem pro Linux (EAC Linux v2).

    Ladislav Hagara | Komentářů: 0
    4.11. 22:11 | Bezpečnostní upozornění

    MikroTik zveřejnil vlastní bezpečnostní upozornění potvrzující, že zranitelnost linuxového jádra postihuje také RouterOS 7. Jde o use-after-free při zpracování IPv4 TCP spojení s IP options. Zranitelnost se týká provozu směřujícího na TCP službu samotného routeru, nikoli paketů, které router pouze přeposílá. Opraveno v long-term od 7.24.6, v stable od 7.25.1 a devel od 7.26beta5.

    vencour | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2987 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: PHP: hledám obecně známý objekt, který má metodu toString()

    24.12.2016 18:01 skirptkido
    PHP: hledám obecně známý objekt, který má metodu toString()
    Přečteno: 461×
    Dobrý den,

    Mám takový netradiční dotaz pro zkušené PHPčkaře. Hledám nějaký relativně obecně známý / používaný / populární objekt v PHP, který obsahuje metodu toString() - pozor nikoliv __toString(). Neznáte nějaký takový objekt? Může to být součást nějakého oblíbeného frameworku nebo nějaké knihovny, který se v PHP světě používá..

    Abych uvedl důvod proč to hledám - řeším jednu takovou exploit challenge, kde ten kód vypadá takto:
    $rce = unserialize($_REQUEST['blah']);
    echo $rce->toString();
    
    Akorát, že já nevím jméno toho objektu, kterému mám tou deserializací změnit nějaké ty properties.. Nenapadá vás něco co by to mohlo být?

    Díky!

    Odpovědi

    25.12.2016 23:20 Odin1918 | skóre: 6 | blog: Valhalla
    Rozbalit Rozbalit vše Re: PHP: hledám obecně známý objekt, který má metodu toString()
    github, git clone a rekurzivni grep jsou tvoji pratele
    26.12.2016 18:08 Sten
    Rozbalit Rozbalit vše Re: PHP: hledám obecně známý objekt, který má metodu toString()
    Předefinuj property toString, to volání spadne a vypíše, jak se ta třída jmenuje ;-)
    27.12.2016 01:01 skirptkido
    Rozbalit Rozbalit vše Re: PHP: hledám obecně známý objekt, který má metodu toString()
    To je zajímavý nápad, ale nejsem si jistý jak to provést / jestli je to možné řešení.

    Předpokládejme následující kód na serveru:
    class nevim {
      public $filename = 'xyz';
    
      public function toString() {
        echo file_get_contents($this->filename);
      }
    }
    
    $rce = unserialize($_GET['blah']);
    echo $rce->toString();
    
    Kdybych věděl jméno té třídy, tak můžu poslat request třeba:
    http://url/skript.php?blah=O:5:"nevim":1:{s:8:"filename";s:11:"/etc/passwd";}
    
    A vypsat si tím soubor /etc/passwd, ale když neznám jméno té třídy, tak se mi zdá, že jsem bez šance cokoliv zkoušet, nebo ne?

    I přesto to ale zkouším všeljak, nicméně ikdyž zkusím změnit property toString, tak mi to nepomůže - nevypíše to nic extra, dokonce to funguje jakoby se nechumelilo:
    http://url/skript.php?blah=O:5:"nevim":2:{s:8:"filename";s:11:"/etc/passwd";s:8:"toString";s:6:"blabla";}
    
    Funguje no problem na mým testovacím serveru.

    Tak nevím..
    27.12.2016 02:35 Sten
    Rozbalit Rozbalit vše Re: PHP: hledám obecně známý objekt, který má metodu toString()
    Hmm, tak PHP má tak zprasený návrh tříd, že to nejde. $t->toString vytáhne tu hodnotu, ale $t->toString() zavolá takto pojmenovanou metodu z prototypu třídy (i když existuje takto pojmenovaná hodnota), zatímco pokud taková metoda není definována, pokusí se zavolat $t->toString->__invoke(), tj. metodu třídy té hodnoty.
    27.12.2016 03:14 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: PHP: hledám obecně známý objekt, který má metodu toString()
    Na tom nevidím nic zpraseného. Na podobné problémy jsem nikdy nenarazil. Když budeš dodržovat konvence pro názvy objektů a metod, tak se ti to stát ani nemůže.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.