Кафедра програмного забезпечення Дніпровського державного технічного університету
Головна Про нас Історія кафедри Наука Ми на порталі

Скандалы, интриги, SQL-инъекции, а также Лунный котейка ^_^(2018-09-21 08:47:39)
И всем пламенный привет, всё же решил написать статью в котором хочу описать взлом сайта кафедры раньше, чем выступлю на паре с докладом по SQL-инъекциям, просто, чтобы не давать никому фору :D Как уже говорил в предыдущем объявлении, я студент ПЗ-18-1дм, Сизько Владислав Андреевич, о конкурсе на взлом сайта кафедры я узнал ещё года 3 назад, когда был всего навсего на втором курсе, ещё тогда загорелся желанием это сделать, но увы, ни мотивации, ничего это у меня на тот момент не было, а был я занят разработкой курсовой работы по ООП, игра на втором курсе получилась на славу, кстати. Но сейчас не об этом, время шло, и вот, я уже на 5 курсе, сегодня прошло занятие по технологии web, и как вы уже наверное поняли, мы заговорили о web-безопасности, в результате, в качестве доклада на семинарское занятие я взял SQL-инъекции, почему? Да потому что ещё про них слышал в 2013 году и пытался как-то выстраивать защиту против них, безуспешно на тот момент. Года 3 назад, Дмитрий и Максим уже пытались взломать сайт используя SQL-инъекции, однако они не смогли это сделать и решили пойти другим путём, но, Лунный котейка, в лице меня, не сдавался, дело для меня новое, я решил заняться подробнее SQL-инъекциями, т.к. я их раньше никогда не делал, то, пошёл на просторы Ютуба и Хабра, там, найдя большое количество информации я стал применять полученные знания на практике, первой моей попыткой было прощупать всё методом, так называемой "фазификации" (вроде так называется, я это потом уточню в докладе :D) подставляя одинарную кавычку везде, где есть обращение к БД, увы, везде я натыкался на экранирование, вторая попытка взломать "Анкету вступника", частично, у меня это вышло, потому что помимо ERROR 500 я сумел с помощью небольшого подбора добавляя такой запрос в адресную строку: http://pzs.dstu.dp.ua/questionnaire.php?id=2+union+select+1+limit+1,1-- найти количество столбцов, их оказалось всего лишь 2 и используя такой адрес http://pzs.dstu.dp.ua/questionnaire.php?id=2+union+select+1,table_name+from+information_schema.tables+limit+1,1-- я постепенно перебирал и искал столбец в БД под названием "users" или что-то в этом роде, а оказался он по счёту 45: http://pzs.dstu.dp.ua/questionnaire.php?id=2+union+select+1,table_name+from+information_schema.tables+limit+45,1-- , и всё бы было отлично и я бы использовал этот адрес http://pzs.dstu.dp.ua/questionnaire.php?id=2+union+select+1,column_name+from+information_schema.columns+where+table_name='users'+limit+1,1-- для того, чтобы сначала узнать точные имена столбцов, а потом вытянуть информацию, но, мне мешало то самое экранирование :D Я подумал, что в тупике, и пошёл искать пути обхода, найдя подобный баг в разделе преподавателей (там уже использовалось 10 столбцов), я стал баловаться с адресом, в результате, у меня вышел вот такой адрес: http://pzs.dstu.dp.ua/index.php?cab=1&id=4+union+select+1,name,password,4,5,6,7,8,9,10+from+users , который вытягивал имена и зашифрованные в md5 пароли из базы данных, не долго думая я пошёл за онлайн-дешифратором md5 и получил расшифрованный пароль от учётной записи Александра Алексеевича с третьим уровнем доступа :) (Warning! Этот трюк срабатывал только с авторизованными пользователями, с гостями идёт сразу перенаправление на страницу регистрации) Вот и хочу поблагодарить за такой конкурс с призами Александра Алексеевича, мне действительно было интересно таким заняться ^_^ Всем спасибо за внимание, с вами был Лунный котейка, Владислав, до новых встреч ;)