моя защита

Discussion in 'PHP' started by Дикс, 14 Sep 2009.

  1. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    тест тьюринга это настолько убогая защита, что на её решение тратится вызов пары готовых функций и секунд 5 задержки

    2all
    сейчас переделал защиту. ещё далеко от идеала, но попробуйте обойти :)
     
  2. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    ну если 2 all, то мой вариант по преженему рабочий
     
  3. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    (0о) Дикс, ты умеешь решать задачи распознавания образов вызовом пары готовых функций?

    «Completely Automated Public Turing test to tell Computers and Humans Apart» - Captcha


    Есть множество вариаций теста Тьюринга, некоторые из них можно решить просто, но НЕ ВСЕ.
     
    2 people like this.
  4. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    кагбэ поддерживаю geezer.code.
    тс, попробуй вместо обычной текстовой капчи клик по 1-й из, допустим, 5 картинок, где только на одной изображена, например, собака. антикапча такие ещё не принимает, так что только вручную выйдет отсылать.
    а любая другая защита обходится. это дело времени.
     
  5. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    я имел ввиду капчу
    мне интересно сделать такую защиту, которую даже мне влом было бы разобрать и сломать
    и при этом не пользоваться никакими картинками

    Pashkela
    твой не засчитывается, потому что он работает только на винде ;p
     
  6. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Всегда есть особые условия!

    NIX + WM + Win + VBS
    тоже пашет :D

    Если простым запуском Internet Explorer (пример пашкелы через VBS) можно отпоститься, то при сильном желании можно и найти передаваемые данные...
    тока вот стимула это делать - 0

    p.s. Pashkella жесток и беспощаден и как всегда оригинален... респект и уважуха ;)
     
    #26 FireFenix, 16 Sep 2009
    Last edited: 16 Sep 2009
  7. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Так как пашкелла отписался тоже и я страдал от скуки... решил всё же поиздеваться над скриптом..... ушло ~5-10 минут

    первые 3 минут - послал 3 запроса и сохранил результаты
    p.s. автору на заметку - вылетает иногда ошибка (типа не заполнено какое-то поле) при заполненной форме... парадокс

    следующие 2 минуты, я скачал с офф сайта jquery и total commander'ом сравнил твой вариант jquery, перед этим заменив ";" на ";\r\n"
    и увидел разницу в (приведено в читаемый вид)
    Code:
    function()
    {
      m3x='#s'+'c'+'r'+'t';
      c7b = $(m3x).attr('value');
      $(m3x).attr('value', c7b.substr(0,3) + $('#link_sub').attr('value') + c7b.substr(4));
    }
    
    судя из кода - после загрузки страницы, сразу вызывается функция, которая перезаписывает secret_hash

    остальные 1-5 минут написание кода + регулярки...
    PHP:
    <?php

    $curl 
    curl_init();

    curl_setopt($curlCURLOPT_RETURNTRANSFERTrue);
    curl_setopt($curlCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1');
    curl_setopt($curlCURLOPT_FOLLOWLOCATIONTrue);
    curl_setopt($curlCURLOPT_COOKIEFILE'cookiefile.txt');
    curl_setopt($curlCURLOPT_COOKIEJAR'cookiefile.txt');

    curl_setopt($curlCURLOPT_URL'http://vipavia.ru/links?add');
    $xxx curl_exec($curl);

    //просто так до кучи, чтобы если чо - не писать при следуюющем мего изменении скрипта :)
    //preg_match_all('/newVal = ([^;]*);/ims', $xxx, $match_val);
    //eval('$digits = ' . $match_val[1][0] . ';');

    preg_match_all('/<input type=\'hidden\' name=\'link_sub\' value=\'([^\']*)\' id=\'link_sub\' \/>/ims'$xxx$match_sub);
    preg_match_all('/<input type=\'hidden\' name=\'secret_hash\' id=\'scrt\'[\s]*value=\'([^\']*)\' \/>/ims'$xxx$match_hash);

    $link_sub $match_sub[1][0];
    $secret_hash $match_hash[1][0];

    $result substr($secret_hash03) . $link_sub .  substr($secret_hash4);

    /*
          link_sub=3b2o0l
          linkemail=test5%40test.ru
          linkbackhref=http%3A%2F%2Ftest5.ru
          linktext=http%3A%2F%2Ftest5.ru
          linkhref=http%3A%2F%2Ftest5.ru
          category=1
          desc=http%3A%2F%2Ftest5.ru
          secret_hash=60e3b2o0l5da17a2837831f75b
    */

    //здесь делаем цикл for($i = 0; $i < 999999; $i++)
    //{ //начало цикла

    $i 999999;

    $var 
    'link_sub=' $link_sub .
    '&linkemail=test' $i '%40test.ru' .
    '&linkbackhref=http%3A%2F%2Ftest' $i '.ru' .
    '&linktext=http%3A%2F%2Ftest' $i '.ru' .
    '&linkhref=http%3A%2F%2Ftest' $i '.ru' .
    '&category=1' .
    '&desc=http%3A%2F%2Ftest' $i '.ru' .
    '&secret_hash=' $result
    ;

    curl_setopt($curlCURLOPT_POSTTrue);
    curl_setopt($curlCURLOPT_POSTFIELDS$var);
    $xxx curl_exec($curl);

    //} //конец цикла

    curl_close ($curl);

    echo(
    $xxx); //вывод результата
            
    ?> 
    Это было подтверждение моей фразе
    Code:
    Если простым запуском Internet Explorer можно отпоститься, то при сильном желании можно и найти передаваемые данные... тока вот стимула это делать - 0
    
    2Дикс - додумай/доделай/допиши до конца, тогда и выложи...
    ибо сейчас - тоже самое, что решать уравнение 2*y=4 (не придумал лучше и адекватнее метафору =\ )

    идеи можно почерпнуть в HQ_09 (от eLWAux) - вроде последнем лвле, где нада поиграться с перлом
    /thread129518.html
     
    #27 FireFenix, 16 Sep 2009
    Last edited: 16 Sep 2009
    1 person likes this.
  8. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    спасибо за развёрнутый ответ :)
    я не претендую на супер-защиту, пока лишь просто попробовал. тем не менее первая страница темы вся забита неправильными решениями, значит защита нубов сбивает с толку.

    я как раз таки считаю что такие непонятные ошибки усложняют процесс взлома, запутывая кодера :)
     
  9. gisTy

    gisTy Elder - Старейшина

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    время то да. но есть такая штука как целесообразность взлома. если защита меняется каждый день/два то зачем взламывать и писать обход ее. хотя не спорю, тест тьюринга на данный момент остается одной из силнейших защит