Pokaż wyniki 1 do 7 z 7

Temat: MD5 w JavaScript (bylo: Ktos pomoze??)

  1. #1
    Zarejestrowany
    Jan 2008
    Postów
    4

    Domyślnie MD5 w JavaScript (bylo: Ktos pomoze??)

    Witam!
    Jestem nowy i dopiero ucze sie crackowac hackowac etc...
    ktos mogłby mi pomóc cos z tego wyciagnac
    /*
    * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
    * Digest Algorithm, as defined in RFC 1321.
    * Version 1.1 Copyright (C) Paul Johnston 1999 - 2002.
    * Code also contributed by Greg Holt
    * See http://pajhome.org.uk/site/legal.html for details.
    */

    /*
    * Add integers, wrapping at 2^32. This uses 16-bit operations internally
    * to work around bugs in some JS interpreters.
    */
    function safe_add(x, y)
    {
    var lsw = (x & 0xFFFF) + (y & 0xFFFF);
    var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
    return (msw << 16) | (lsw & 0xFFFF);
    }

    /*
    * Bitwise rotate a 32-bit number to the left.
    */
    function rol(num, cnt)
    {
    return (num << cnt) | (num >>> (32 - cnt));
    }

    /*
    * These functions implement the four basic operations the algorithm uses.
    */
    function cmn(q, a, b, x, s, t)
    {
    return safe_add(rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);
    }
    function ff(a, b, c, d, x, s, t)
    {
    return cmn((b & c) | ((~b) & d), a, b, x, s, t);
    }
    function gg(a, b, c, d, x, s, t)
    {
    return cmn((b & d) | (c & (~d)), a, b, x, s, t);
    }
    function hh(a, b, c, d, x, s, t)
    {
    return cmn(b ^ c ^ d, a, b, x, s, t);
    }
    function ii(a, b, c, d, x, s, t)
    {
    return cmn(c ^ (b | (~d)), a, b, x, s, t);
    }

    /*
    * Calculate the MD5 of an array of little-endian words, producing an array
    * of little-endian words.
    */
    function coreMD5(x)
    {
    var a = 1732584193;
    var b = -271733879;
    var c = -1732584194;
    var d = 271733878;

    for(i = 0; i < x.length; i += 16)
    {
    var olda = a;
    var oldb = b;
    var oldc = c;
    var oldd = d;

    a = ff(a, b, c, d, x[i+ 0], 7 , -680876936);
    d = ff(d, a, b, c, x[i+ 1], 12, -389564586);
    c = ff(c, d, a, b, x[i+ 2], 17, 606105819);
    b = ff(b, c, d, a, x[i+ 3], 22, -1044525330);
    a = ff(a, b, c, d, x[i+ 4], 7 , -176418897);
    d = ff(d, a, b, c, x[i+ 5], 12, 1200080426);
    c = ff(c, d, a, b, x[i+ 6], 17, -1473231341);
    b = ff(b, c, d, a, x[i+ 7], 22, -45705983);
    a = ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
    d = ff(d, a, b, c, x[i+ 9], 12, -1958414417);
    c = ff(c, d, a, b, x[i+10], 17, -42063);
    b = ff(b, c, d, a, x[i+11], 22, -1990404162);
    a = ff(a, b, c, d, x[i+12], 7 , 1804603682);
    d = ff(d, a, b, c, x[i+13], 12, -40341101);
    c = ff(c, d, a, b, x[i+14], 17, -1502002290);
    b = ff(b, c, d, a, x[i+15], 22, 1236535329);

    a = gg(a, b, c, d, x[i+ 1], 5 , -165796510);
    d = gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
    c = gg(c, d, a, b, x[i+11], 14, 643717713);
    b = gg(b, c, d, a, x[i+ 0], 20, -373897302);
    a = gg(a, b, c, d, x[i+ 5], 5 , -701558691);
    d = gg(d, a, b, c, x[i+10], 9 , 38016083);
    c = gg(c, d, a, b, x[i+15], 14, -660478335);
    b = gg(b, c, d, a, x[i+ 4], 20, -405537848);
    a = gg(a, b, c, d, x[i+ 9], 5 , 568446438);
    d = gg(d, a, b, c, x[i+14], 9 , -1019803690);
    c = gg(c, d, a, b, x[i+ 3], 14, -187363961);
    b = gg(b, c, d, a, x[i+ 8], 20, 1163531501);
    a = gg(a, b, c, d, x[i+13], 5 , -1444681467);
    d = gg(d, a, b, c, x[i+ 2], 9 , -51403784);
    c = gg(c, d, a, b, x[i+ 7], 14, 1735328473);
    b = gg(b, c, d, a, x[i+12], 20, -1926607734);

    a = hh(a, b, c, d, x[i+ 5], 4 , -378558);
    d = hh(d, a, b, c, x[i+ 8], 11, -2022574463);
    c = hh(c, d, a, b, x[i+11], 16, 1839030562);
    b = hh(b, c, d, a, x[i+14], 23, -35309556);
    a = hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
    d = hh(d, a, b, c, x[i+ 4], 11, 1272893353);
    c = hh(c, d, a, b, x[i+ 7], 16, -155497632);
    b = hh(b, c, d, a, x[i+10], 23, -1094730640);
    a = hh(a, b, c, d, x[i+13], 4 , 681279174);
    d = hh(d, a, b, c, x[i+ 0], 11, -358537222);
    c = hh(c, d, a, b, x[i+ 3], 16, -722521979);
    b = hh(b, c, d, a, x[i+ 6], 23, 76029189);
    a = hh(a, b, c, d, x[i+ 9], 4 , -640364487);
    d = hh(d, a, b, c, x[i+12], 11, -421815835);
    c = hh(c, d, a, b, x[i+15], 16, 530742520);
    b = hh(b, c, d, a, x[i+ 2], 23, -995338651);

    a = ii(a, b, c, d, x[i+ 0], 6 , -198630844);
    d = ii(d, a, b, c, x[i+ 7], 10, 1126891415);
    c = ii(c, d, a, b, x[i+14], 15, -1416354905);
    b = ii(b, c, d, a, x[i+ 5], 21, -57434055);
    a = ii(a, b, c, d, x[i+12], 6 , 1700485571);
    d = ii(d, a, b, c, x[i+ 3], 10, -1894986606);
    c = ii(c, d, a, b, x[i+10], 15, -1051523);
    b = ii(b, c, d, a, x[i+ 1], 21, -2054922799);
    a = ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
    d = ii(d, a, b, c, x[i+15], 10, -30611744);
    c = ii(c, d, a, b, x[i+ 6], 15, -1560198380);
    b = ii(b, c, d, a, x[i+13], 21, 1309151649);
    a = ii(a, b, c, d, x[i+ 4], 6 , -145523070);
    d = ii(d, a, b, c, x[i+11], 10, -1120210379);
    c = ii(c, d, a, b, x[i+ 2], 15, 718787259);
    b = ii(b, c, d, a, x[i+ 9], 21, -343485551);

    a = safe_add(a, olda);
    b = safe_add(b, oldb);
    c = safe_add(c, oldc);
    d = safe_add(d, oldd);
    }
    return [a, b, c, d];
    }

    /*
    * Convert an array of little-endian words to a hex string.
    */
    function binl2hex(binarray)
    {
    var hex_tab = "0123456789abcdef";
    var str = "";
    for(var i = 0; i < binarray.length * 4; i++)
    {
    str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
    hex_tab.charAt((binarray[i>>2] >> ((i%4)*8)) & 0xF);
    }
    return str;
    }

    /*
    * Convert an array of little-endian words to a base64 encoded string.

    This is correct:
    ogroup[0] = dtable[igroup[0] >> 2];
    ogroup[1] = dtable[((igroup[0] & 3) << 4) | (igroup[1] >> 4)];
    ogroup[2] = dtable[((igroup[1] & 0xF) << 2) | (igroup[2] >> 6)];
    ogroup[3] = dtable[igroup[2] & 0x3F];
    and should pad with '='

    */
    function binl2b64(binarray)
    {
    var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz0123456789+/";
    var str = "";
    for(var i = 0; i < binarray.length * 4; i += 3)
    {
    x = binarray[i>>2];
    //alert(binarray[i>>5+1]);
    str += tab.charAt(((binarray[i>>5] << (i%32)) & 0x3F) |
    ((binarray[i>>5+1] >> (32-i%32)) & 0x3F));
    }
    return str;
    }


    /*
    I think this is correct for BIG endian
    */
    function binb2b64(binarray)
    {
    var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz0123456789+/";
    var str = "";
    for(var i = 0; i < binarray.length * 32; i += 6);
    {
    //alert(binarray[i>>5+1]);
    str += tab.charAt(((binarray[i>>5] << (i%32)) & 0x3F) |
    ((binarray[i>>5+1] >> (32-i%32)) & 0x3F));
    }
    // TBD: pad with =
    return str;
    }

    /*
    * Convert an 8-bit character string to a sequence of 16-word blocks, stored
    * as an array, and append appropriate padding for MD4/5 calculation.
    * If any of the characters are >255, the high byte is silently ignored.
    */
    function str2binl(str)
    {
    var nblk = ((str.length + 8) >> 6) + 1; // number of 16-word blocks
    var blks = new Array(nblk * 16);
    for(var i = 0; i < nblk * 16; i++) blks[i] = 0;
    for(var i = 0; i < str.length; i++)
    blks[i>>2] |= (str.charCodeAt(i) & 0xFF) << ((i%4) * 8);
    blks[i>>2] |= 0x80 << ((i%4) * 8);
    blks[nblk*16-2] = str.length * 8;
    return blks;
    }

    /*
    * Convert a wide-character string to a sequence of 16-word blocks, stored as
    * an array, and append appropriate padding for MD4/5 calculation.
    */
    function strw2binl(str)
    {
    var nblk = ((str.length + 4) >> 5) + 1; // number of 16-word blocks
    var blks = new Array(nblk * 16);
    for(var i = 0; i < nblk * 16; i++) blks[i] = 0;
    for(var i = 0; i < str.length; i++)
    blks[i>>1] |= str.charCodeAt(i) << ((i%2) * 16);
    blks[i>>1] |= 0x80 << ((i%2) * 16);
    blks[nblk*16-2] = str.length * 16;
    return blks;
    }

    /*
    * External interface
    */
    function hexMD5 (str) { return binl2hex(coreMD5( str2binl(str))); }
    function hexMD5w(str) { return binl2hex(coreMD5(strw2binl(str))); }
    function b64MD5 (str) { return binl2b64(coreMD5( str2binl(str))); }
    function b64MD5w(str) { return binl2b64(coreMD5(strw2binl(str))); }
    /* Backward compatibility */
    function calcMD5(str) { return binl2hex(coreMD5( str2binl(str))); }

    function MD5_hexhash(str) { return hexMD5(str); }

    var MD5_loaded = true;


    Wkleilem tylko czesc ... najwazniejsza

  2. #2
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    No dobra...

    1. Dlaczego piszesz w dziale hacking a nie dziale o JavaScript lub programowaniu?
    2. Co chcesz z tego wyciagnac, bo wrzuciles kod a nie zadales pytania?
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  3. #3
    Zarejestrowany
    Jan 2008
    Postów
    4

    Domyślnie

    co do 1 to sory ale myslalem ze to dobry dzial
    co do 2 to to jest w pliku odpowiedzialnym za logowanie sie i chialem plik z userami i haslami wyciagnac lub cos w tym stylu...

  4. #4
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Nie chce byc nieuprzejmy ale czy chociaz zastanowiles sie albo przynajmniej przeczytales jaki kod wrzucasz podajac takie pytanie? Jesli nie wiesz o co mi chodzi to przeczytaj 2 linie z tego kodu - pierwsza linia teksto naglowka i bedziesz wiedzial.

    EDIT: Przenosze do dzialu 'Inne jezyki' bo to z webmasterka tez ma niewiele wspolnego... i zmieniam tytul na bardziej opisowy.
    Ostatnio edytowane przez TQM : 01-14-2008 - 14:04
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  5. #5
    Zarejestrowany
    Jan 2008
    Postów
    4

    Thumbs down

    hmm...
    powiem tyle ze ja to czytalem ale mowie ze jestem dopiero poczatkujacy i srednio znam javascript dlatego prosze o pomoc czy tu w ogole da sie cos wyciagnac ... bo ze strony gdzie sie loguje mam wszystkie php i javy ale nie umiem nic wywnioskowac ;/




    a z tego :
    </div><div class="mtBut"><a href="search_last_online.php"><img src="http://img2.epuls.pl/images/button_mt_more.gif"></a></div> </div></div> </div><div id="stRt"><script>
    var MD5_loaded = false;
    var md5test = '82da61aa724b5d149a9c5dc8682c2a45';
    function verifyLogin(f)
    {
    var username;
    var password;
    var MD5;
    username = f.strUserLogin.value.toUpperCase();
    password = f.strUserPassword.value;
    if (!MD5_loaded)
    {
    alert('MD5 library not loaded, proceeding in the old way');
    return true;
    }
    if (md5test != MD5_hexhash('md5test'))
    {
    alert('MD5 is calculating wrong, proceeding in the old way');
    return true;
    }
    MD5 = MD5_hexhash(username + '|' + password);
    if (MD5)
    {
    document.forms['formLoginFormMD5'].MD5.value = MD5;
    document.forms['formLoginFormMD5'].strUserLogin2.value = username;
    document.forms['formLoginFormMD5'].submit();
    return false;
    }
    return true;
    }
    </script>
    <script src="http://img2.epuls.pl/static/scripts/md5.js" language="JavaScript"></script><div class="mnFr_dark" style="width: 175px; #width: 177px;"><div class="rtTitle">
    Logowanie
    <span>Logowanie</span></div><div style="padding: 3px"><form method=POST name=formLoginFormMD5 action="/start.php"><input type=hidden name=blnLoginFormMD5 value=1><input type=hidden name=lngLoginSystemID value=0><input type=hidden name=MD5 value=""><input type=hidden name=strUserLogin2 value="">
    </form><form method=POST name=formLoginForm action="/start.php" onsubmit="return verifyLogin(this);">
    <input type=hidden name=blnLoginForm value=1>
    <input type=hidden name=lngLoginSystemID value=0>
    <table cellspacing="0" cellpadding="3" align="center"><tr><td>Login:</td><td><input type=text class="loginInput" style="width: 120px" name=strUserLogin value="Komercyjny_AG"></td></tr><tr><td>Hasło:</td><td><input type=password class="loginInput" style="width: 120px" name=strUserPassword></td></tr><tr><td colspan=2 align="right"><input type=image src="http://img2.epuls.pl/images/button_small_login.gif" style="border: 0;"></td></tr>
    </table>
    <ul style="margin-top: 3px; margin-bottom: 3px;">
    <li style="font-size: 11px;"><a href=join2.php>Dołącz do nas!</a></li>
    <li><a href=forgot_password.php>Przypomnij hasło</a></li>
    </ul>
    Ostatnio edytowane przez ferus : 01-15-2008 - 08:04

  6. #6
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    To co wrzuciles ten pierwszy kod to po prostu implementacja algorytmu liczacego MD5 - z tego nie ma co wyciagac w ogole.
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  7. #7
    Avatar eMCe
    eMCe jest offline Emil Grzegorz Gubała
    Zarejestrowany
    Dec 2006
    Skąd
    Kielce
    Postów
    1,767

    Domyślnie

    TQM - idzie wyciągnąć ! (wnioski i wiedze jak napisać MD5 )

    ferus poczytaj google pod kontem XSS CSRF itp - pooglądaj video arty unknow'a (tak się go chyba pisało) i dopiero wracaj papa :* 03!
    Agencja reklamy kielce (mały kilkudniowy case pozycjonerski )

Podobne wątki

  1. Automapa na Europe testowal ktos?
    By blackicenavarro in forum Systemy radiokomunikacyjne
    Odpowiedzi: 2
    Autor: 04-22-2011, 12:39
  2. Mógłby ktos odczytac mi plik SAM ?
    By zbusiu in forum Hacking
    Odpowiedzi: 13
    Autor: 11-05-2008, 17:02
  3. HSDPA - testowal ktos?
    By blackicenavarro in forum GSM/GPRS/EDGE/UMTS
    Odpowiedzi: 5
    Autor: 09-24-2007, 13:45
  4. algorytmy na wtorek,pomoze ktos? (eli2.0)
    By zed0 in forum /dev/null
    Odpowiedzi: 1
    Autor: 05-21-2007, 08:09
  5. Moze ktos pomoze?
    By LineageAbyss in forum Wirusy/Konie trojańskie
    Odpowiedzi: 9
    Autor: 05-09-2007, 14:24

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj