!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\dmz\FileZillaFTP\source\   drwxrwxrwx
Free 4.08 GB of 39.52 GB (10.32%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     ControlSocket.h (4.74 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// FileZilla Server - a Windows ftp server

// Copyright (C) 2002-2004 - Tim Kosse <tim.kosse@gmx.de>

// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

#if !defined(AFX_CONTROLSOCKET_H__17DD46FD_8A4A_4394_9F90_C14BA65F6BF6__INCLUDED_)
#define AFX_CONTROLSOCKET_H__17DD46FD_8A4A_4394_9F90_C14BA65F6BF6__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ControlSocket.h : Header-Datei
//

#include "hash_thread.h"

class CAsyncGssSocketLayer;
class CAsyncSslSocketLayer;
class CTransferSocket;

#ifndef TRANSFERMODE_NOTSET
#define TRANSFERMODE_NOTSET 0
#endif

/////////////////////////////////////////////////////////////////////////////
// Befehlsziel CControlSocket

class CControlSocket : public CAsyncSocketEx
{
// Attribute
public:

// Operationen
public:
    CControlSocket(CServerThread *pOwner);
    virtual ~CControlSocket();

// Überschreibungen
public:
    CServerThread * m_pOwner;
    CStdString m_RemoteIP;
    void WaitGoOffline(bool wait = true);
    BOOL m_bWaitGoOffline;
    void CheckForTimeout();
    void ForceClose(int nReason);
    CTransferSocket* GetTransferSocket();
    void ProcessTransferMsg();
    void ParseCommand();
    int m_userid;
    BOOL Send(LPCTSTR str, bool sendStatus = true);
    void SendStatus(LPCTSTR status,int type);
    BOOL GetCommand(CStdString &command, CStdString &args);
    bool InitImplicitSsl();

    virtual void OnReceive(int nErrorCode);
    virtual void OnClose(int nErrorCode);
    virtual void OnSend(int nErrorCode);
    void AntiHammerIncrease(int amount = 1);

    void Continue();

    void ProcessHashResult(int hash_id, int res, CHashThread::_algorithm alg, const CStdString& hash, const CStdString& file);

// Implementierung
protected:
    BOOL DoUserLogin(LPCTSTR password, bool skipPass = false);
    BOOL UnquoteArgs(CStdString &args);
    static int GetUserCount(const CStdString &user);
    static void IncUserCount(const CStdString &user);
    static void DecUserCount(const CStdString &user);
    void ResetTransferstatus();
    BOOL CreateTransferSocket(CTransferSocket *pTransferSocket);
    bool CheckIpForZlib();
    void SendTransferinfoNotification(const char transfermode = TRANSFERMODE_NOTSET, const CStdString& physicalFile = "", const CStdString& logicalFile = "", __int64 startOffset = 0, __int64 totalSize = -1);
    bool CanQuit();
    CStdString GetPassiveIP();

    virtual int OnLayerCallback(std::list<t_callbackMsg>& callbacks);

    CAsyncGssSocketLayer *m_pGssLayer;
    CAsyncSslSocketLayer *m_pSslLayer;

    std::list<CStdStringA> m_RecvLineBuffer;
    char m_RecvBuffer[2048];
    int m_nRecvBufferPos;
    char *m_pSendBuffer;
    int m_nSendBufferLen;

    int m_nTelnetSkip;
    BOOL m_bQuitCommand;
    SYSTEMTIME m_LastCmdTime, m_LastTransferTime, m_LoginTime;
    static std::map<CStdString, int> m_UserCount;
    CStdString m_CurrentServerDir;
    static CCriticalSectionWrapper m_Sync;
    struct t_status
    {
        BOOL loggedon;
        CStdString user;
        CStdString ip;

        int hammerValue;
    } m_status;
    struct t_transferstatus
    {
        int pasv;
        _int64 rest;
        int type;
        CStdString ip;
        int port;
        CTransferSocket *socket;
        bool usedResolvedIP;
        int family;
    } m_transferstatus;

    CStdString RenName;
    BOOL bRenFile;

    enum TransferMode
    {
        mode_stream,
        mode_zlib
    };

    TransferMode m_transferMode;
    int m_zlibLevel;

    int m_antiHammeringWaitTime;

    bool m_bProtP;

    bool m_useUTF8; // Enabled by default, can be turned off using
                    // OPTS UF8 OFF

    void ParseMlstOpts(CStdString args);
    void ParseHashOpts(CStdString args);

    // Enabled MLST facts
    bool m_facts[4];

    bool m_shutdown;

    int m_hash_id;
    
    enum CHashThread::_algorithm m_hash_algorithm;

public:
    int GetSpeedLimit(enum sltype);

    typedef struct {
        bool bContinue;
        int nBytesAllowedToTransfer;
        int nTransferred;
        bool bBypassed;
    } t_Quota;
    t_Quota m_SlQuotas[2];
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.

#endif // AFX_CONTROLSOCKET_H__17DD46FD_8A4A_4394_9F90_C14BA65F6BF6__INCLUDED_

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--