I am a hacker in the dark of a very cold night

path :/var/www/html/vorne.webheaydemo.com

upload file:

List of files:

name file size edit permission action
.editorconfig276 KBMarch 05 2024 07:12:340666
.env1385 KBMay 24 2024 16:43:550666
.env.example1088 KBMarch 05 2024 07:12:340666
.gitattributes190 KBMarch 05 2024 07:12:340666
.gitignore245 KBMarch 05 2024 07:12:340666
.htaccess947 KBJuly 04 2023 21:25:080664
.rnd1024 KBMarch 13 2024 04:51:140666
README.md472 KBMarch 22 2024 10:35:000666
app-March 05 2024 07:12:340777
artisan1739 KBMarch 05 2024 07:12:340666
bootstrap-March 05 2024 07:12:340777
composer.json2829 KBMay 13 2024 12:10:040666
composer.lock417205 KBMarch 19 2024 12:13:140666
config-July 03 2025 02:53:360777
database-March 05 2024 07:12:340777
index.php1816 KBMay 13 2024 10:32:360666
lang-May 13 2024 14:53:260777
manifest.json913 KBMay 14 2024 03:57:260664
package.json398 KBMarch 05 2024 07:12:340666
phpunit.xml1206 KBMarch 05 2024 07:12:340666
public-July 03 2025 02:37:200777
resources-May 13 2024 12:09:360777
routes-March 05 2024 07:12:340777
service-worker.js924 KBMarch 05 2024 07:12:340666
storage-March 05 2024 10:03:520777
symlink.php218 KBMarch 05 2024 07:12:340666
tests-March 05 2024 07:12:340777
vendor-March 19 2024 12:13:140777
vite.config.js326 KBMarch 05 2024 07:12:340666
detect = new Mobile_Detect; } public static function generateJson() { //in case this gets run multiple times if (isset(self::$json)) { return self::$json; } //the json and PHP formatted files $jsonFile = dirname(__FILE__) . '/ualist.json'; $phpFile = dirname(__FILE__) . '/UA_List.inc.php'; //currently stored as a PHP array $list = include $phpFile; //check recency of the file if (file_exists($jsonFile) && is_readable($jsonFile)) { //read the json file $json = json_decode(file_get_contents($jsonFile), true); //check that the hash matches $hash = isset($json['hash']) ? $json['hash'] : null; if ($hash == sha1(serialize($list))) { //file is up to date, just read the json file self::$json = $json['user_agents']; return self::$json; } } //uses the UA_List.inc.php to generate a json file if (file_exists($jsonFile) && !is_writable($jsonFile)) { throw new RuntimeException("Need to be able to create/update $jsonFile from UA_List.inc.php."); } if (!is_writable(dirname($jsonFile))) { throw new RuntimeException("Insufficient permissions to create this file: $jsonFile"); } //print_r($list['Acer']); exit; $json = array(); foreach ($list as $vendor => $vendorList) { foreach ($vendorList as $userAgent => $props) { if (is_int($userAgent)) { //this means that the user agent is the props $userAgent = $props; $props = array(); } $tmp = array( 'vendor' => $vendor, 'user_agent' => $userAgent ); if (isset($props['isMobile'])) { $tmp['mobile'] = $props['isMobile']; } if (isset($props['isTablet'])) { $tmp['tablet'] = $props['isTablet']; } if (isset($props['version'])) { $tmp['version'] = $props['version']; } if (isset($props['model'])) { $tmp['model'] = $props['model']; } $json[] = $tmp; } } //save the hash $hash = sha1(serialize($list)); $json = array( 'hash' => $hash, 'user_agents' => $json ); if (defined('JSON_PRETTY_PRINT')) { $jsonString = json_encode($json, JSON_PRETTY_PRINT); } else { $jsonString = json_encode($json); } file_put_contents($jsonFile, $jsonString); self::$json = $json['user_agents']; return self::$json; } public static function setUpBeforeClass() { //generate json file first self::generateJson(); //get the generated JSON data $json = self::$json; //make a list that is usable by functions (THE ORDER OF THE KEYS MATTERS!) foreach ($json as $userAgent) { $tmp = array(); $tmp[] = isset($userAgent['user_agent']) ? $userAgent['user_agent'] : null; $tmp[] = isset($userAgent['mobile']) ? $userAgent['mobile'] : null; $tmp[] = isset($userAgent['tablet']) ? $userAgent['tablet'] : null; $tmp[] = isset($userAgent['version']) ? $userAgent['version'] : null; $tmp[] = isset($userAgent['model']) ? $userAgent['model'] : null; $tmp[] = isset($userAgent['vendor']) ? $userAgent['vendor'] : null; self::$ualist[] = $tmp; } } public function userAgentData() { if (!count(self::$ualist)) { self::setUpBeforeClass(); } return self::$ualist; } /** * @medium * @dataProvider userAgentData */ public function testUserAgents($userAgent, $isMobile, $isTablet, $version, $model, $vendor) { //make sure we're passed valid data if (!is_string($userAgent) || !is_bool($isMobile) || !is_bool($isTablet)) { $this->markTestIncomplete("The User-Agent $userAgent does not have sufficient information for testing."); return; } //setup $this->detect->setUserAgent($userAgent); //is mobile? $this->assertEquals($isMobile, $this->detect->isMobile()); //is tablet? $this->assertEquals($isTablet, $this->detect->isTablet(), 'FAILED: ' . $userAgent . ' isTablet: ' . $isTablet); if (isset($version)) { foreach ($version as $condition => $assertion) { $this->assertEquals($assertion, $this->detect->version($condition), 'FAILED UA (version("'.$condition.'")): '.$userAgent); } } //version property tests if (isset($version)) { foreach ($version as $property => $stringVersion) { $v = $this->detect->version($property); $this->assertSame($stringVersion, $v); } } //@todo: model test, not sure how exactly yet //@todo: vendor test. The below is theoretical, but fails 50% of the tests... /*if (isset($vendor)) { $method = "is$vendor"; $this->assertTrue($this->detect->{$method}(), "Expected Mobile_Detect::{$method}() to be true."); }*/ } }