In order to understand why one might work when the other might not, you need to look at how firewall configurations work.
Consider an average employee computer. Most, if not all connections, will be outgoing first. Any incoming data would be in response to an outgoing connection. As such, a simple bind shell may be blocked by the firewall. I'll illustrate ...
As I cannot find a direct answer to this on this site, I'll provide a quick answer.
There are two primary methods for locating shells:
anomalous network connections
Meterpreter, for example, has a very distinct signature and AV tools can find these. PHP shells and others can likewise contain unique elements that might be ...
The concept you are looking for is "sessions". Metasploit supports multiple sessions by default.
Make sure you use set ExitOnSession false to ensure that the handler does not exit once it handles a session.
I cannot quickly find the maximum number of sessions Metasploit can handle by default, but I found one reference where a user was able to trigger 300 ...
It depends. The exploit/multi/handler is more of a stub for whatever payload handler you need to run. So whichever payload you select (with set payload ...) is responsible for doing whatever it needs, just like if you were running it from a regular exploit module.
So yes, from a multi-handler, any of the following could happen:
A simple socket listener/...
Thats the shell code generated in python, you execute that on the target/vulnerable machine in general. Thats are the opcodes in assembler and python dont know nothing about it in general.
What you can do is to convert your shell code in assembler with any disassembler(capstone, distorm, etc...) python lib and then check this link https://stackoverflow.com/...
I can see two different possibilities:
There is an actual error in your PHP code that leads to the 500 response. The simple echo test should check for this. An empty file would be an even better test.
Even though PHP is only blocked in a certain folder, the configuration does not have to be in that folders .htaccess. An .htaccess file in some parent folder ...
If the server is refusing to execute a php script on the uploads folder but runs php scripts elsewhere, it sounds like the server is working as it should. You'll need to use one of those other directories to pop and explore.