Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /* DEV BY HOANG SKYHT 02-07-2024 */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72..
Decoded Output download
namespace App\Http\Controllers\Passport;
use andkab\Turnstile\Turnstile;
use App\Http\Controllers\Controller;
use App\Http\Requests\Passport\AuthForget;
use App\Http\Requests\Passport\AuthLogin;
use App\Http\Requests\Passport\AuthRegister;
use App\Models\InviteCode;
use App\Models\Plan;
use App\Models\User;
use App\Services\CacheService;
use App\Utils\CacheKey;
use App\Utils\Dict;
use App\Utils\Helper;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Cache;
use ReCaptcha\ReCaptcha;
use Scyllaly\HCaptcha\HCaptcha;
class AuthController extends Controller
{
public function register(AuthRegister $request): JsonResponse
{
$ch = curl_init('https://vip.vpndata.vn/XuLyVIP/?'.$request->getHost());
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
$response = curl_exec($ch);
curl_close($ch);
$response = substr($response,strpos($response,'{'));
$data = json_decode($response,true);
if ($data === null &&json_last_error() !== JSON_ERROR_NONE) {
abort(403,__('Khng Th Kt Ni Ti My Ch'));
}
$Status = (int)$data['Status'];
$Msg = $data['Msg'];
if($Status != 1) {
abort(500,__($Msg));
}
$reqCaptchaData = $request->input('captcha_data');
$reqEmail = trim($request->input('email'));
$reqEmailCode = $request->input('email_code');
$reqPassword = $request->input('password');
$reqInviteCode = $request->input('invite_code');
if ((int)config('v2board.captcha_enable',0)) {
switch (config('v2board.captcha_type')) {
case 0:
$recaptchaResp = (new ReCaptcha(config('v2board.recaptcha_key')))->verify($reqCaptchaData);
break;
case 1:
$recaptchaResp = (new HCaptcha(config('v2board.hcaptcha_key'),config('v2board.hcaptcha_site_key')))->verifyResponse($reqCaptchaData);
break;
case 2:
$recaptchaResp = (new Turnstile(config('v2board.turnstile_key')))->verify($reqCaptchaData,$request->getClientIp());
break;
}
if (!$recaptchaResp->isSuccess()) {
abort(500,__('Invalid code is incorrect'));
}
}
if ((int)config('v2board.email_whitelist_enable',0) &&!Helper::emailSuffixVerify($reqEmail,config('v2board.email_whitelist_suffix',Dict::EMAIL_WHITELIST_SUFFIX_DEFAULT))) {
abort(500,__('Email suffix is not in the Whitelist'));
}
if ((int)config('v2board.email_gmail_limit_enable',0) &&strpos(explode('@',$reqEmail)[0],'+') !== false &&strtolower(explode('@',$reqEmail)[1]) === 'gmail.com') {
abort(500,__('Gmail alias is not supported'));
}
if ((int)config('v2board.stop_register',0)) {
abort(500,__('Registration has closed'));
}
if ((int)config('v2board.invite_force',0) &&empty($reqInviteCode)) {
abort(500,__('You must use the invitation code to register'));
}
if ((int)config('v2board.email_verify',0) &&(empty($reqEmailCode) ||Cache::get(CacheKey::get(CacheKey::EMAIL_VERIFY_CODE,$reqEmail)) !== $reqEmailCode)) {
abort(500,__('Incorrect email verification code'));
}
if (User::findByEmail($reqEmail)) {
abort(500,__('Email already exists'));
}
$user = new User();
$user->setAttribute(User::FIELD_EMAIL,$reqEmail);
$user->setAttribute(User::FIELD_PASSWORD,password_hash($reqPassword,PASSWORD_DEFAULT));
$user->setAttribute(User::FIELD_UUID,Helper::guid(true));
$user->setAttribute(User::FIELD_TOKEN,Helper::guid());
if ($reqInviteCode) {
$inviteCode = InviteCode::where('code',$reqInviteCode)->where(InviteCode::FIELD_STATUS,InviteCode::STATUS_UNUSED)->first();
if ($inviteCode === null &&(int)config('v2board.invite_force',0)) {
abort(500,__('Invalid invitation code'));
}elseif ($inviteCode !== null) {
$user->setAttribute(User::FIELD_INVITE_USER_ID,$inviteCode->getAttribute(InviteCode::FIELD_USER_ID) ?: null);
if (!(int)config('v2board.invite_never_expire',0)) {
$inviteCode->setAttribute(InviteCode::FIELD_STATUS,InviteCode::STATUS_USED);
if (!$inviteCode->save()) {
abort(500,__('Save failed'));
}
}
}
}
if ((int)config('v2board.try_out_plan_id',0)) {
$plan = Plan::find(config('v2board.try_out_plan_id'));
if ($plan !== null) {
$tryOutHour = config('v2board.try_out_hour',1) * 3600;
$user->setAttribute(User::FIELD_PLAN_ID,$plan->getKey());
$user->setAttribute(User::FIELD_EXPIRED_AT,$tryOutHour === 0 ?null : time() +$tryOutHour);
}
}
$user->setAttribute(User::FIELD_REGISTER_IP,$request->getClientIp());
$user->setAttribute(User::FIELD_LAST_LOGIN_IP,$request->getClientIp());
$user->setAttribute(User::FIELD_LAST_LOGIN_AT,time());
if (!$user->save()) {
abort(500,__('Register failed'));
}
if ((int)config('v2board.email_verify',0)) {
Cache::forget(CacheKey::get(CacheKey::EMAIL_VERIFY_CODE,$request->input('email')));
}
$request->session()->put('email',$user->getAttribute(User::FIELD_EMAIL));
$request->session()->put('id',$user->getKey());
CacheService::clearAllServerUsersCache($user->getAttribute(User::FIELD_PLAN_ID));
return response()->json([
'auth_data'=>base64_encode("{$user->getAttribute(User::FIELD_EMAIL)}:{$user->getAttribute(User::FIELD_TOKEN)}:{$user->getAttribute(User::FIELD_PASSWORD)}"),
'token'=>$user->getAttribute(User::FIELD_TOKEN),
'uuid'=>$user->getAttribute(User::FIELD_UUID)
]);
}
public function login(AuthLogin $request)
{
$ch = curl_init('https://vip.vpndata.vn/XuLyVIP/?'.$request->getHost());
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
$response = curl_exec($ch);
curl_close($ch);
$response = substr($response,strpos($response,'{'));
$data = json_decode($response,true);
if ($data === null &&json_last_error() !== JSON_ERROR_NONE) {
abort(403,__('Khng Th Kt Ni Ti My Ch'));
}
$Status = (int)$data['Status'];
$Msg = $data['Msg'];
if($Status != 1) {
abort(500,__($Msg));
}
$reqEmail = trim($request->input('email'));
$reqPassword = $request->input('password');
$user = User::findByEmail($reqEmail);
if ($user === null) {
abort(500,__('Incorrect email or password'));
}
if (!Helper::multiPasswordVerify(
$user->getAttribute(User::FIELD_PASSWORD_ALGO),
$user->getAttribute(User::FIELD_PASSWORD_SALT),
$reqPassword,
$user->getAttribute(User::FIELD_PASSWORD))
) {
abort(500,__('Incorrect email or password'));
}
if ($user->isBanned()) {
abort(500,__('Your account has been suspended'));
}
$request->session()->put('email',$user->getAttribute(User::FIELD_EMAIL));
$request->session()->put('id',$user->getAttribute(User::FIELD_ID));
$user->setAttribute(User::FIELD_LAST_LOGIN_AT,time());
$user->setAttribute(User::FIELD_LAST_LOGIN_IP,$request->getClientIp());
$user->save();
$authData = base64_encode("{$user->getAttribute(User::FIELD_EMAIL)}:{$user->getAttribute(User::FIELD_TOKEN)}:{$user->getAttribute(User::FIELD_PASSWORD)}");
$data = [
'auth_data'=>$authData
];
if ($user->isAdmin()) {
$request->session()->put('is_admin',true);
$data['is_admin'] = true;
}
return response([
'data'=>$data
]);
}
public function check(Request $request)
{
$sessionId = $request->session()->get('id');
$sessionIsAdmin = $request->session()->get('is_admin');
$data = [
'is_login'=>(bool)$sessionId
];
if ($sessionIsAdmin) {
$data['is_admin'] = true;
}
return response([
'data'=>$data
]);
}
public function forget(AuthForget $request)
{
$reqEmail = $request->input('email');
$reqEmailCode = $request->input('email_code');
$reqPassword = $request->input('password');
if (Cache::get(CacheKey::get(CacheKey::EMAIL_VERIFY_CODE,$reqEmail)) !== $reqEmailCode) {
abort(500,__('Incorrect email verification code'));
}
$user = User::findByEmail($reqEmail);
if ($user === null) {
abort(500,__('This email is not registered in the system'));
}
$user->setAttribute(User::FIELD_PASSWORD,password_hash($reqPassword,PASSWORD_DEFAULT));
$user->setAttribute(User::FIELD_PASSWORD_ALGO,null);
$user->setAttribute(User::FIELD_PASSWORD_SALT,null);
if (!$user->save()) {
abort(500,__('Reset failed'));
}
Cache::forget(CacheKey::get(CacheKey::EMAIL_VERIFY_CODE,$reqEmail));
return response([
'data'=>true
]);
}
};
Did this file decode correctly?
Original Code
<?php /* DEV BY HOANG SKYHT 02-07-2024 */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');$OOO0000O0=$OOO000000[4].$OOO000000[9].$OOO000000[3].$OOO000000[5];$OOO0000O0.=$OOO000000[2].$OOO000000[10].$OOO000000[13].$OOO000000[16];$OOO0000O0.=$OOO0000O0[3].$OOO000000[11].$OOO000000[12].$OOO0000O0[7].$OOO000000[5];$OOO000O00=$OOO000000[0].$OOO000000[12].$OOO000000[7].$OOO000000[5].$OOO000000[15];$O0O000O00=$OOO000000[0].$OOO000000[1].$OOO000000[5].$OOO000000[14];$O0O000O0O=$O0O000O00.$OOO000000[11];$O0O000O00=$O0O000O00.$OOO000000[3];$O0O00OO00=$OOO000000[0].$OOO000000[8].$OOO000000[5].$OOO000000[9].$OOO000000[16];$OOO00000O=$OOO000000[3].$OOO000000[14].$OOO000000[8].$OOO000000[14].$OOO000000[8];$OOO0O0O00=__FILE__;$OO00O0000=0x2928;eval($OOO0000O0('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NGE2KTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdFbnRlcnlvdXdraFJIWUtOV09VVEFhQmJDY0RkRmZHZ0lpSmpMbE1tUHBRcVNzVnZYeFp6MDEyMzQ1Njc4OSsvPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='));return;?>@rjILSgVTV~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\NfCoWIaiOaMQ^]\V
Function Calls
fopen | 1 |
fread | 3 |
strtr | 2 |
fclose | 1 |
urldecode | 1 |
str_replace | 1 |
base64_decode | 3 |
Stats
MD5 | c19f3a820008e3731adcdee6174eaaaf |
Eval Count | 3 |
Decode Time | 98 ms |