Base64 Decoden!

  • Hi, ich habe mit AutoIT ein Programm geschrieben was die daten aus der datenbank ausgiebt!
    Also man Registriert sich auf der Seite und man kann sich mit dem tool halt einloggen, so jetzt gibt es nur ein problem, die seite Verschlüsselt das PWD in Base64 so und Autoit kann auch das verschlüsselte pwd lesen ( wenn ich es 1zu1 aus der Datenbank übertrage ), aber wenn ich halt mein Unverschlüsseltes PWD eingebe gehts nicht!
    Deswegen würde ich mich freuen wenn jemand zb ein base64.au3 hat die ich i-wie in mein Programm einbauen muss um halt das PWD zu decoden und es dann Funktioniert!

    Kurz: Das PWD in dem eingabe feld soll Codiert werden und dann so die Datenbank abfragen!

    PS: In der Register.php steht md5(base64... blablabla ) dan habe ich versucht das pwd zu Entcoden aber es kam immer etwas anderes heraus mit md5 und base64

    z.B. das pwd ist!
    Unverschlüsselt: cpguser
    Verschlüsselt: 185f2510fedf9f9fbba82ee038b50bd1 ( ist das verschlüsselte PWD aus der Datenbank )

    aber konnte mit keinem Encoder das Verschlüsselte PWD verschlüsseln?!

    MFG

    3 Mal editiert, zuletzt von talos1990 (15. Juli 2010 um 06:08)

  • ja das habe ich mir auch schon durchgelesen aber wüsste jetzt erlich gesagt nicht wie ich das jetzt umsetzten sollte da nicht ma die decoder im internet das leichte pwd decoden können hast du dafür vielleicht eine erklärung?

    EDIT:

    oder brauche ich dazu i-wie ein bestimmten werd code schnipsel von der register.php oder wie geht das da ich mich mit php net auskenn!

  • MD5 ist gar keine schlechte Idee. Dadurch wird ein Hash erstellt, aus dem das Passwort nicht mehr wiederhergestellt werden kann. Um nun zu prüfen, ob das eingegebene Passwort korrekt ist, wird dieses ebenfalls mit md5 gehasht und dann mit der aus der Datenbank vergleichen.

    Auch base64 gibt es für AutoIt, da musst du mal im englischen Forum danach suchen.

    Einmal editiert, zuletzt von progandy (15. Juli 2010 um 09:12)

  • das geht bei mir eigentlich ganz gut zumindest schafft es unser server das wieder zu decodieren wenn ichs encodiert habe ;)

    Spoiler anzeigen
    [autoit]

    ; #FUNCTION# ;===============================================================================
    ;
    ; Name...........: _Base64Encode
    ; Description ...: Returns the given strinng encoded as a Base64 string.
    ; Syntax.........: _Base64Encode($sData)
    ; Parameters ....: $sData
    ; Return values .: Success - Base64 encoded string.
    ; Failure - Returns 0 and Sets @Error:
    ; |0 - No error.
    ; |1 - Could not create DOMDocument
    ; |2 - Could not create Element
    ; |3 - No string to return
    ; Author ........: turbov21
    ; Modified.......:
    ; Remarks .......:
    ; Related .......: _Base64Decode
    ; Link ..........;
    ; Example .......; Yes
    ;
    ; ;==========================================================================================
    Func _Base64Encode($sData)
    Local $oXml = ObjCreate("Msxml2.DOMDocument")
    If Not IsObj($oXml) Then
    SetError(1, 1, 0)
    EndIf

    Local $oElement = $oXml.createElement("b64")
    If Not IsObj($oElement) Then
    SetError(2, 2, 0)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $oElement.dataType = "bin.base64"
    $oElement.nodeTypedValue = Binary($sData)
    Local $sReturn = $oElement.Text

    If StringLen($sReturn) = 0 Then
    SetError(3, 3, 0)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Return $sReturn
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ;===============================================================================
    ;
    ; Name...........: _Base64Decode
    ; Description ...: Returns the strinng decoded from the provided Base64 string.
    ; Syntax.........: _Base64Decode($sData)
    ; Parameters ....: $sData
    ; Return values .: Success - String decoded from Base64.
    ; Failure - Returns 0 and Sets @Error:
    ; |0 - No error.
    ; |1 - Could not create DOMDocument
    ; |2 - Could not create Element
    ; |3 - No string to return
    ; Author ........: turbov21
    ; Modified.......:
    ; Remarks .......:
    ; Related .......: _Base64Encode
    ; Link ..........;
    ; Example .......; Yes
    ;
    ; ;==========================================================================================
    Func _Base64Decode($sData)
    Local $oXml = ObjCreate("Msxml2.DOMDocument")
    If Not IsObj($oXml) Then
    SetError(1, 1, 0)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Local $oElement = $oXml.createElement("b64")
    If Not IsObj($oElement) Then
    SetError(2, 2, 0)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $oElement.dataType = "bin.base64"
    $oElement.Text = $sData
    Local $sReturn = BinaryToString($oElement.nodeTypedValue, 4)

    If StringLen($sReturn) = 0 Then
    SetError(3, 3, 0)
    EndIf

    Return $sReturn
    EndFunc

    [/autoit]
  • mh wie ich grade mirbekommen habe ist in dem ordner security!

    Spoiler anzeigen

    <?php
    /*---------------------------------------------------------+
    | BS-Fusion - Content Management System
    | Version 1.00.0
    +----------------------------------------------------------+
    | Copyright © 2009 Manuel Kurz
    | http://www.bs-fusion.org/
    +----------------------------------------------------------+
    | This program is released as free software under the
    | Affero GPL license (version 3). You can redistribute
    | it and/or modify it under the terms of this license which
    | you can read by viewing the included agpl-3.0.txt or
    | online at http://www.gnu.org/licenses/agpl-3.0.html.
    | Removal of this copyright header is strictly prohibited
    | without written permission from the original author(s).
    +----------------------------------------------------------+
    | Code based on PHP-Fusion
    | http://www.php-fusion.co.uk/
    +---------------------------------------------------------*/
    if (preg_match("/bs_encoder.php/i",$_SERVER['PHP_SELF'])) {die();}

    /** Change this line only before you use the encoder **/
    if (!defined("BS_GLOBAL_KEY")) define("BS_GLOBAL_KEY","BS-Fusion Keep it Simple is a simple Content Management System");

    /** Don't change anything after this line **/
    function bs_change_code($code,$mkw='',$mkd="0"){$pw=0;$mkwr=md5(base64_encode($mkw));if ($mkd==0){$encstr='';for($i=0;$i<strlen($code);$i++){$ze=ord($mkwr{$pw});$pe=ord($code{$i});$oe=($i%2)!=0?$i*25:$i/2;$tchar=dechex(ord(chr(($pe^$ze)+$oe+($pw*$i)-~$i+($oe & $pw))));$encstr.=strlen($tchar)==1?'0'.$tchar:$tchar;$pw<strlen($mkwr)-1?$pw++:$pw=0;}return $encstr;}else{$dencstr='';$d=0;for($i=0;$i<strlen($code)/2;$i++){$zd=ord($mkwr{$pw});$pd=hexdec(substr($code,$d,2));$od=($i%2)!=0?$i*25:$i/2;$dencstr.=chr($pd-($od & $pw)+~$i-($pw*$i)-$od^$zd);$pw<strlen($mkwr)-1?$pw++:$pw=0;$d+=2;}return $dencstr;}}function bs_enctxt($str){$from='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';$to='nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM';$encstring=strtr($str,$from,$to);return $encstring;}function bs_encode($code,$mkw=""){$MKW05236OKR=($mkw!=""?BS_GLOBAL_KEY.$mkw:BS_GLOBAL_KEY);$MKW05236STR=trim(htmlentities($code));$MKW05236ENC=bs_change_code(bs_enctxt($MKW05236STR),$MKW05236OKR);return $MKW05236ENC;}function bs_decode($code,$mkw=""){$MKW05236OKR=($mkw!=""?BS_GLOBAL_KEY.$mkw:BS_GLOBAL_KEY);$MKW05236STR=$code;$MKW05236ENC=bs_enctxt(bs_change_code($MKW05236STR,$MKW05236OKR,1));return $MKW05236ENC;}function bs_encoder($text,$pwd="",$encoder=true){$key=!empty($pwd)?md5(BS_GLOBAL_KEY.$pwd):md5(BS_GLOBAL_KEY);if($encoder){if(function_exists("mcrypt_encode")){$iv_size = mcrypt_get_iv_size(MCRYPT_XTEA,MCRYPT_MODE_ECB);$iv = mcrypt_create_iv($iv_size,crc32($key));$crypttext=mcrypt_encrypt(MCRYPT_XTEA,$key,$text,MCRYPT_MODE_ECB,$iv);}else{$crypttext=$text;}$enc=bs_encode($crypttext,$key);}else {$text=bs_decode($text,$key);if(function_exists("mcrypt_decode")){$iv_size=mcrypt_get_iv_size(MCRYPT_XTEA,MCRYPT_MODE_ECB);$iv=mcrypt_create_iv($iv_size,crc32($key));$crypt=mcrypt_decrypt(MCRYPT_XTEA, $key,$text,MCRYPT_MODE_ECB,$iv);}else{$crypt = $text;}$enc = $crypt;}return trim($enc);}
    // Modifizierte MD5-Verschlüsselung Funktion (Silvermoon)
    function md($str="",$md_hash="",$double_hash=false) {
    $hex = "";
    $Var_A = 38094183;$Var_B = 7822759277;$Var_C = 4454765896;$Var_D = 1241839396160;
    $var = $Var_A+$Var_B+$Var_C+$Var_D;
    $var2 = $Var_A.$Var_B.$Var_C.$Var_D.$Var_C.$Var_A.$Var_B.$Var_D.$Var_B.$Var_A.$var.$str;
    if ($str!="") {
    $length=strlen(trim($str));
    for ($i=0; $i<$length; $i++){$hex.=str_pad(dechex(ord($str[$i])), 2, 0, STR_PAD_LEFT);}
    }
    $hex = str_replace(array("0","2","4","6","8","b","c","d","e"),array("a","b","c","d","e","7","3","1","5"),$var.$hex.$var2);$bs_hash = md5($md_hash.$hex.$md_hash);if (!$double_hash) return $bs_hash; else return md5($bs_hash);
    }
    // ENDE DES ENCODERS \\

    ?>

    ja kann man da i-wie autoit drauf zugreifen lassen oder i-was in der richtung!

    mfg