Использования json_decode(gzuncompress(base64_decode(...

Discussion in 'Песочница' started by jangle, 8 Jul 2013.

  1. jangle

    jangle Member

    Joined:
    19 Nov 2006
    Messages:
    117
    Likes Received:
    5
    Reputations:
    6
    Доброго времени суток!
    Имеется код:
    PHP:
            if ($_REQUEST ['op']=='upload') {
                
    $processMessage="BLABLA1";
                
    $resUpload=($_REQUEST['res'])? $_REQUEST['res'] : null;
                if (
    $resUpload) {
                    
    $reportUpload=json_decode((gzuncompress(base64_decode(($resUpload)))),true);
                    if (
    $reportUpload) {
                        
    $processMessage="BLABLA2: <br /><br />".implode ("<br />",$reportUpload);
                    }
                }
            }
    Сообщения выводится

    Накидал файлик для экспериментов
    PHP:
    <?php
    $arr 
    = array ('ggg','nnn');
    //array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
    //{"a":1,"b":2,"c":3,"d":4,"e":5} 
    $cho =  base64_encode(gzcompress(json_encode($arr)));
    echo 
    $cho

    $ddd 
    =  json_decode(gzuncompress(base64_decode($cho)),true);
    echo 
    "BLABLA2: <br /><br />".implode ("<br />",$ddd);
    ?>
    но ни к чему путному не пришел.

    Можно ли как нибудь использовать этот код как уязвимость?
     
  2. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Возможно как пассивную XSS.
     
  3. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Возможно с помощью json_decode можно так-же вызывать деструкторы для своих объектов как и в случае с serialize, нужно экспериментировать.