Прошу проверить [авторизациия]

Discussion in 'PHP' started by djkefir, 4 Apr 2015.

  1. djkefir

    djkefir New Member

    Joined:
    17 Dec 2010
    Messages:
    28
    Likes Received:
    1
    Reputations:
    0
    PHP:
        if(empty($_SESSION['name'])){
            if(
    $_POST['name'] && $_POST['pass']){
                
    $login trim(htmlspecialchars($_POST['name']));
                
    $pass md5($_POST['pass']);
                  
    $login_sql $mysqli->query("SELECT `id` FROM `users` WHERE `name`='$name' AND `pass`='$pass'");`pass`='$pass'");
                if(
    $login_sql->num_rows > 0){
                    
    $_SESSION['name'] = $name;
                    header("
    Location: /");
                }else{
                    header("
    Location: /?do=name&error=Wrong");
                }
            }
    Такие вот дела)
     
  2. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    Код не отработает как надо.

    Наверно тут имелось ввиду вместо

    $login = trim(htmlspecialchars($_POST['name']));

    написать

    $name = trim(htmlspecialchars($_POST['name']));

    ???

    Если это так, то вот эксплойт для Bypass

    pass=123&name=1'or(1)='1

    P.S. Ошибки в коде странные. Корявый копипаст?
     
    _________________________
    djkefir likes this.
  3. djkefir

    djkefir New Member

    Joined:
    17 Dec 2010
    Messages:
    28
    Likes Received:
    1
    Reputations:
    0
    Имелось ввиду name)
    Просто в последний момент решил изменить:)