mirror of
https://github.com/elicpeter/nyx.git
synced 2026-06-09 19:45:13 +02:00
[pitboss] phase 11: Track J.9 + Track L.9 — CRYPTO, JSON_PARSE, UNAUTHORIZED_ID, DATA_EXFIL corpora
This commit is contained in:
parent
61a9e4e5df
commit
6784d73e25
85 changed files with 2508 additions and 30 deletions
16
tests/dynamic_fixtures/json_parse/javascript/benign.js
Normal file
16
tests/dynamic_fixtures/json_parse/javascript/benign.js
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
// Phase 11 (Track J.9) — JavaScript JSON_PARSE benign control fixture.
|
||||
//
|
||||
// JSON.parse then deep-merge into a `Object.create(null)` target, the
|
||||
// canonical mitigation; the prototype-less target cannot reach
|
||||
// `Object.prototype` so the canary never fires.
|
||||
function run(value) {
|
||||
const parsed = JSON.parse(value);
|
||||
const target = Object.create(null);
|
||||
for (const k of Object.keys(parsed)) {
|
||||
if (k === '__proto__' || k === 'constructor') continue;
|
||||
target[k] = parsed[k];
|
||||
}
|
||||
return target;
|
||||
}
|
||||
|
||||
module.exports = { run };
|
||||
Loading…
Add table
Add a link
Reference in a new issue