public function execute() { if (false === ($user = GWF_User::getByID(Common::getGet('userid')))) { return GWF_HTML::err('ERR_UNKNOWN_USER'); } $tmpfile = GWF_PATH . 'extra/temp/gpg/' . $user->getVar('user_id'); if (!is_file($tmpfile) || !is_readable($tmpfile)) { return GWF_HTML::err('ERR_FILE_NOT_FOUND', array($tmpfile)); } if (false === ($file_content = file_get_contents($tmpfile))) { return GWF_HTML::err('ERR_FILE_NOT_FOUND', array($tmpfile)); } if (false === unlink($tmpfile)) { return GWF_HTML::err('ERR_WRITE_FILE', array($tmpfile)); } if (false === ($fingerprint = GWF_PublicKey::grabFingerprint($file_content))) { return $this->module->error('err_gpg_key'); } if (Common::getGet('token') !== $fingerprint) { return $this->module->error('err_gpg_token'); } if (false === GWF_PublicKey::updateKey($user->getID(), $file_content)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } if (false === $user->saveOption(GWF_User::EMAIL_GPG, true)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } return $this->module->message('msg_setup_gpg'); }
function wccgpg_doit(WC_Challenge $chall, $user) { if ($user === false) { echo GWF_HTML::error('GPG', $chall->lang('err_login'), false); return; } if (!$user->hasValidMail()) { echo GWF_HTML::error('GPG', $chall->lang('err_no_mail')); return; } $receiver = $user->getValidMail(); if (!function_exists('gnupg_init')) { echo GWF_HTML::error('GPG', $chall->lang('err_server')); return; } if (false === ($fingerprint = GWF_PublicKey::getFingerprintForUser($user))) { $url = GWF_WEB_ROOT . 'account'; echo GWF_HTML::error('GPG', $chall->lang('err_no_gpg', $url), false); return; } $solution = WC_CryptoChall::generateSolution('OHOYOUGOTGPG!', true, false); $mail = new GWF_Mail(); $mail->setSubject($chall->lang('mail_s')); $mail->setSender(GWF_BOT_EMAIL); $mail->setReceiver($receiver); $mail->setBody($chall->lang('mail_b', array($user->displayUsername(), $solution))); if (false === $mail->sendToUser($user)) { echo GWF_HTML::err('ERR_MAIL_SENT'); } else { echo GWF_HTML::message('GPG', $chall->lang('msg_mail_sent', array(htmlspecialchars($receiver)))); } }
public function validate_gpg_paste(Module_Admin $module, $arg) { if (false === ($this->gpg_fingerprint = GWF_PublicKey::grabFingerprint($arg))) { return $this->module->lang('err_gpg_key'); } return false; }
public function setupGPG(GWF_User $user) { if ($this->allowGPG) { if (function_exists('gnupg_init')) { if (false !== ($fingerprint = GWF_PublicKey::getFingerprintForUser($user))) { $this->setGPGKey($fingerprint); } } } }
require 'key2.key'; $key2 = ob_get_contents(); ob_end_clean(); chdir("../../../"); require_once "challenge/html_head.php"; $title = '2013 New Years Special'; html_head("Install: {$title}"); if (!GWF_User::isAdminS()) { return htmlSendToLogin("Better be admin !"); } $solution = false; $score = 4; $url = "challenge/quangntenemy/2013NYS/index.php"; $creators = "quangntenemy"; $tags = 'Special,Crypto'; WC_Challenge::installChallenge($title, $solution, $score, $url, $creators, $tags, true, WC_Challenge::CHALL_CASE_I); if (!($user = GWF_User::getByName('Rudolph2013'))) { $user = new GWF_User(array('user_id' => '0', 'user_options' => GWF_User::BOT | GWF_User::MAIL_APPROVED | GWF_User::EMAIL_GPG, 'user_name' => 'Rudolph2013', 'user_password' => GWF_Password::hashPasswordS('quangster'), 'user_regdate' => GWF_Time::getDate(), 'user_email' => '*****@*****.**')); $user->insert(); } else { $user->saveOption(GWF_User::EMAIL_GPG, true); } GWF_PublicKey::updateKey($user->getID(), $key1); if (!($user = GWF_User::getByName('Silvester2013'))) { $user = new GWF_User(array('user_id' => '0', 'user_options' => GWF_User::BOT | GWF_User::MAIL_APPROVED | GWF_User::EMAIL_GPG, 'user_name' => 'Silvester2013', 'user_password' => GWF_Password::hashPasswordS('quangster'), 'user_regdate' => GWF_Time::getDate(), 'user_email' => '*****@*****.**')); $user->insert(); } else { $user->saveOption(GWF_User::EMAIL_GPG, true); } GWF_PublicKey::updateKey($user->getID(), $key2); require_once "challenge/html_foot.php";
private function onRemoveGPG() { $_POST = array(); $user = GWF_Session::getUser(); $userid = $user->getID(); if (false === GWF_PublicKey::getKeyForUID($userid)) { return $this->module->error('err_gpg_del'); } if (false === GWF_PublicKey::removeKey($userid)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } if (false === $user->saveOption(GWF_User::EMAIL_GPG, false)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } return $this->module->message('msg_gpg_del'); }