Esempio n. 1
0
 /**
  * @expectedException \Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException
  */
 public function testKeyProtectedByPasswordWrong()
 {
     $pkey = KeyProtectedByPassword::createRandomPasswordProtectedKey('rightpassword');
     $key1 = $pkey->unlockKey('wrongpassword');
 }
Esempio n. 2
0
<?php

session_start();
ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");
error_log("Hello, errors!");
require_once '../includes/defuse-crypto.phar';
use Defuse\Crypto\Crypto;
use Defuse\Crypto\KeyProtectedByPassword;
include_once '../includes/config.php';
$dbh = new PDO(DB_DRIVER . ":host=" . DB_SERVER . ";port=" . DB_PORT . ";dbname=" . DB_NAME, DB_USER_TEL_CHANGER, DB_PASS_TEL_CHANGER);
/* Check if valid */
if (preg_replace('/\\D/', '', filter_var($_POST["TEL"], FILTER_SANITIZE_NUMBER_INT, FILTER_NULL_ON_FAILURE)) == "") {
    header('HTTP/1.1 400 User is a noob');
    die(json_encode(array("result" => false, "message" => "Please enter a telephone number", "error_code" => "tc100")));
}
$get_key_stmt = $dbh->prepare("SELECT `PEOPLE_ENCRYPTED_ENCRYPTION_KEY` FROM `" . DB_PEOPLE_TABLE . "` WHERE `" . DB_PEOPLE_TABLE . "`.`PEOPLE_ID` = :PEOPLE_ID;");
$get_key_stmt->bindParam(":PEOPLE_ID", $_SESSION["id"]);
$get_key_stmt->execute();
$protected_key = KeyProtectedByPassword::loadFromAsciiSafeString($get_key_stmt->fetch()["PEOPLE_ENCRYPTED_ENCRYPTION_KEY"]);
$user_key = $protected_key->unlockKey($_SESSION["key_unlocker"]);
$update_stmt = $dbh->prepare("UPDATE `" . DB_PEOPLE_TABLE . "` SET `PEOPLE_PHONE_NUMBER` = :PEOPLE_PHONE_NUMBER WHERE `" . DB_PEOPLE_TABLE . "`.`PEOPLE_ID` = :PEOPLE_ID;");
$update_stmt->bindParam(":PEOPLE_PHONE_NUMBER", Crypto::encrypt(preg_replace('/\\D/', '', filter_var($_POST["TEL"], FILTER_SANITIZE_NUMBER_INT, FILTER_NULL_ON_FAILURE)), $user_key));
$update_stmt->bindParam(":PEOPLE_ID", $_SESSION["id"]);
$update_stmt->execute();
header("HTTP/1.1 200 Change successful");
Esempio n. 3
0
include_once $rootdir . 'includes/config.php';
$dbh = new PDO(DB_DRIVER . ":host=" . DB_SERVER . ";port=" . DB_PORT . ";dbname=" . DB_NAME, DB_USER_PROFILE_GRABBER, DB_PASS_PROFILE_GRABBER);
$get_profile = $dbh->prepare("SELECT `PEOPLE_ENCRYPTED_ENCRYPTION_KEY`,`PEOPLE_LAST_NAME`,`PEOPLE_EMAIL_ADDRESS`,`PEOPLE_PHONE_NUMBER`,`PEOPLE_ADDR_FORMATTED_ADDR`,`PEOPLE_EMAIL_VERIFIED`,`PEOPLE_REGISTERED_IP`,`PEOPLE_REGISTERED_UA`,`PEOPLE_REGISTERED_TIMESTAMP`,`PEOPLE_LAST_LOGIN_IP`,`PEOPLE_LAST_LOGIN_UA`,`PEOPLE_LAST_LOGIN_TIMESTAMP`,`PEOPLE_STATS_QUEUES_USED` FROM `" . DB_PEOPLE_TABLE . "` WHERE `PEOPLE_ID` = :PEOPLE_ID AND `PEOPLE_ACCOUNT_ACTIVE` = 1;");
$get_profile->bindParam("PEOPLE_ID", $_SESSION['id']);
$get_profile->execute();
if ($get_profile->rowCount() == 0) {
    $_SESSION["loggedin"] = false;
    header("Location: " . $rootdir . "Login");
    die;
}
$profile = $get_profile->fetch();
// crypto
require_once '../includes/defuse-crypto.phar';
use Defuse\Crypto\Crypto;
use Defuse\Crypto\KeyProtectedByPassword;
$protected_key = KeyProtectedByPassword::loadFromAsciiSafeString($profile["PEOPLE_ENCRYPTED_ENCRYPTION_KEY"]);
$user_key = $protected_key->unlockKey($_SESSION["key_unlocker"]);
include_once $rootdir . 'includes/top.php';
?>
	<div class="container">
		<div class="section">
			<h1>Settings</h1>
		</div>
		<div class="section">
			<div class="row">
				<div class="classol s12">
					<ul class="tabs">
						<li class="tab col s3"><a class="active" href="#user">User</a></li>
						<li class="tab col s3"><a href="#security">Security</a></li>
						<li class="tab col s3"><a href="#stats">Statistics</a></li>
						<li class="tab col s3"><a href="#delete">Delete</a></li>
Esempio n. 4
0
<?php

/* init $_SESSION */
session_start();
/* Better error logging */
ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");
error_log("Hello, errors!");
/* Create our encrypter for PII */
require_once '../includes/defuse-crypto.phar';
use Defuse\Crypto\Crypto;
use Defuse\Crypto\KeyProtectedByPassword;
$hashedPW = hash("ripemd320", $_POST["PASSWD"]);
// WE ARE HASHING THE BASE 64 ENCODED USING RIPEMD320
$pw_key = KeyProtectedByPassword::createRandomPasswordProtectedKey($hashedPW);
$pw_encoded_key = $pw_key->saveToAsciiSafeString();
$user_key = $pw_key->unlockKey($hashedPW);
$_SESSION["key_unlocker"] = hash("ripemd320", $_POST["PASSWD"]);
// store for later decrytion in SESSION VAR
/* init database connections */
include_once '../includes/config.php';
/* contains constants */
$dbh_reg = new PDO(DB_DRIVER . ":host=" . DB_SERVER . ";port=" . DB_PORT . ";dbname=" . DB_NAME, DB_USER_REGISTERER, DB_PASS_REGISTERER);
/* INSERT priveleges only */
$dbh_get = new PDO(DB_DRIVER . ":host=" . DB_SERVER . ";port=" . DB_PORT . ";dbname=" . DB_NAME, DB_USER_REG_GETTER, DB_PASS_REG_GETTER);
/* SELECT of ID and EMAIL only */
$stmt = $dbh_reg->prepare("INSERT INTO `" . DB_PEOPLE_TABLE . "` \n\t\t(`PEOPLE_ID`, \n\t\t `PEOPLE_ACCOUNT_ACTIVE`,\n\t\t `PEOPLE_ENCRYPTED_ENCRYPTION_KEY`,\n\t\t `PEOPLE_FIRST_NAME`, \n\t\t `PEOPLE_LAST_NAME`, \n\t\t `PEOPLE_EMAIL_ADDRESS`, \n\t\t `PEOPLE_PHONE_NUMBER`, \n\t\t `PEOPLE_PASSWD`, \n\t\t `PEOPLE_PASSWD_RESET_KEY`,\n\t\t `PEOPLE_ADDR_FORMATTED_ADDR`, \n\t\t `PEOPLE_ADDR_LAT`, \n\t\t `PEOPLE_ADDR_LNG`, \n\t\t `PEOPLE_ADDR_COUNTRY`, \n\t\t `PEOPLE_ADDR_ADMIN_AREA_LEVEL_1`, \n\t\t `PEOPLE_EMAIL_VERIFIED`,\n\t\t `PEOPLE_EMAIL_VERIFICATION_KEY`,\n\t\t `PEOPLE_IN_DINING_QUEUE`, \n\t\t `PEOPLE_PICTURE_LOCATION`, \n\t\t `PEOPLE_REGISTERED_IP`, \n\t\t `PEOPLE_REGISTERED_UA`, \n\t\t `PEOPLE_REGISTERED_TIMESTAMP`, \n\t\t `PEOPLE_LAST_LOGIN_IP`, \n\t\t `PEOPLE_LAST_LOGIN_UA`, \n\t\t `PEOPLE_LAST_LOGIN_TIMESTAMP`,\n\t\t `PEOPLE_STATS_QUEUES_USED`) \nVALUES      (NULL, \n\t\t 1,\n\t\t :PEOPLE_ENCRYPTED_ENCRYPTION_KEY,\n\t\t :PEOPLE_FIRST_NAME, \n\t\t :PEOPLE_LAST_NAME, \n\t\t :PEOPLE_EMAIL_ADDRESS, \n\t\t :PEOPLE_PHONE_NUMBER, \n\t\t :PEOPLE_PASSWD, \n\t\t :PEOPLE_PASSWD_RESET_KEY,\n\t\t :PEOPLE_ADDR_FORMATTED_ADDR, \n\t\t :PEOPLE_ADDR_LAT, \n\t\t :PEOPLE_ADDR_LNG, \n\t\t :PEOPLE_ADDR_COUNTRY, \n\t\t :PEOPLE_ADDR_ADMIN_AREA_LEVEL_1, \n\t\t 0, \n\t\t :PEOPLE_EMAIL_VERIFICATION_KEY,\n\t\t 0, \n\t\t :PEOPLE_PICTURE_LOCATION, \n\t\t :PEOPLE_REGISTERED_IP, \n\t\t :PEOPLE_REGISTERED_UA, \n\t\t CURRENT_TIMESTAMP, \n\t\t :PEOPLE_LAST_LOGIN_IP, \n\t\t :PEOPLE_LAST_LOGIN_UA, \n\t\t CURRENT_TIMESTAMP,\n\t\t 0);");
/* original insert statement with parameters to bind */
// THIS IS WHAT WE ARE ENCRYPING:
/*
PEOPLE_PHONE_NUMBER