-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscript.js
More file actions
63 lines (62 loc) · 2.23 KB
/
Copy pathscript.js
File metadata and controls
63 lines (62 loc) · 2.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// JavaScript File for PicoWQuack
// Author - WireBits
let currentFileName = "payload.txt";
function sendHttpRequest(data) {
console.log(data);
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://192.168.4.1/execute", true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
if (xhr.readyState === XMLHttpRequest.DONE) {
console[xhr.status === 200 ? 'log' : 'error'](
xhr.status === 200 ? "Request sent successfully!" : "Request failed. Status: " + xhr.status
);
}
};
xhr.send(JSON.stringify(data));
}
function main() {
var content = document.getElementById("content").value;
sendHttpRequest({ username: "Payload", content: content });
}
function handleFileSelect(event) {
var file = event.target.files[0];
if (!file) return;
currentFileName = file.name;
document.getElementById("filenameDisplay").innerText = file.name;
var reader = new FileReader();
reader.onload = function(e) {
document.getElementById('content').value = e.target.result;
};
reader.readAsText(file);
}
function saveFile() {
var content = document.getElementById("content").value;
if (!content.trim()) {
alert("Textarea is empty. Nothing to save.");
return;
}
// Ask for file name
var fileName = prompt("Enter file name to save as:", currentFileName || "payload.txt");
if (!fileName) return; // user canceled
// Ensure .txt extension
if (!fileName.endsWith(".txt")) {
fileName += ".txt";
}
// Create and download file
var blob = new Blob([content], { type: "text/plain;charset=utf-8" });
var link = document.createElement("a");
link.href = URL.createObjectURL(blob);
link.download = fileName;
link.click();
// Update displayed name
currentFileName = fileName;
document.getElementById("filenameDisplay").innerText = fileName;
}
function clearTextArea() {
document.getElementById("content").value = '';
document.getElementById("filenameDisplay").innerText = 'No Payload File Uploaded!';
}
function triggerFileInput() {
document.getElementById('fileInput').click();
}