aboutsummaryrefslogtreecommitdiffstats
path: root/oracles/encoder.php
diff options
context:
space:
mode:
authorlolcat <will@lolcat.ca>2025-08-11 01:55:15 +0000
committerlolcat <will@lolcat.ca>2025-08-11 01:55:15 +0000
commitcdf958d29333d448f4521f4d2faa2592b58e9b27 (patch)
tree528f2a0ffa789a6f4279d9f54a4a2aaf391f390f /oracles/encoder.php
downloadshittyweb-search-cdf958d29333d448f4521f4d2faa2592b58e9b27.tar.gz
shittyweb-search-cdf958d29333d448f4521f4d2faa2592b58e9b27.tar.bz2
shittyweb-search-cdf958d29333d448f4521f4d2faa2592b58e9b27.zip
fix wikipedia crashgrafted
Diffstat (limited to 'oracles/encoder.php')
-rw-r--r--oracles/encoder.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/oracles/encoder.php b/oracles/encoder.php
new file mode 100644
index 0000000..00b5ad0
--- /dev/null
+++ b/oracles/encoder.php
@@ -0,0 +1,40 @@
+<?php
+include_once("oracles/base.php");
+class encoder extends oracle {
+ public $info = [
+ "name" => "text encoder/hasher"
+ ];
+ private $special_types = [
+ "rot13",
+ "base64"
+ ];
+ public function check_query($q) {
+ $types = array_merge($this->special_types, hash_algos());
+ foreach ($types as $type) {
+ $type .= " ";
+ if (str_starts_with($q, $type)) {
+ return true;
+ }
+ }
+ return false;
+ }
+ public function generate_response($q)
+ {
+ $type = explode(" ", $q)[0];
+ $victim = substr($q, strlen($type)+1);
+ if (in_array($type, hash_algos())) {
+ return [$type." hash" => hash($type, $victim)];
+ }
+ switch ($type) {
+ case "rot13":
+ return ["rot13 encoded" => str_rot13($victim)];
+ case "base64":
+ return [
+ "base64 encoded" => base64_encode($victim),
+ "base64 decoded" => base64_decode($victim)
+ ];
+ }
+ return "";
+ }
+}
+?> \ No newline at end of file