File tree 3 files changed +14
-1
lines changed
3 files changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,12 @@ assert(stringify('foo') === '"foo"');
21
21
assert (stringify (' foo\u2028 bar\u2029 baz' ) === ' "foo\\ u2028bar\\ u2029baz"' );
22
22
assert (stringify (new Date (' 2014-12-19T03:42:00.000Z' )) === ' new Date("2014-12-19T03:42:00.000Z")' );
23
23
assert (stringify ({foo: ' bar' }) === ' {"foo":"bar"}' );
24
+ assert (stringify (undefined ) === ' undefined' );
25
+ assert (stringify (null ) === ' null' );
26
+ assert (
27
+ stringify ({val: " </script><script>alert('bad actor')</script>" }) ===
28
+ ' {"val":"\\ u003C\\ u002Fscript\\ u003E\\ u003Cscript\\ u003Ealert(\' bad actor\' )\\ u003C\\ u002Fscript\\ u003E"}'
29
+ );
24
30
```
25
31
26
32
## License
Original file line number Diff line number Diff line change @@ -10,5 +10,8 @@ function stringify(obj) {
10
10
}
11
11
return JSON . stringify ( obj )
12
12
. replace ( / \u2028 / g, '\\u2028' )
13
- . replace ( / \u2029 / g, '\\u2029' ) ;
13
+ . replace ( / \u2029 / g, '\\u2029' )
14
+ . replace ( / < / g, '\\u003C' )
15
+ . replace ( / > / g, '\\u003E' )
16
+ . replace ( / \/ / g, '\\u002F' ) ;
14
17
}
Original file line number Diff line number Diff line change @@ -9,5 +9,9 @@ assert(stringify(new Date('2014-12-19T03:42:00.000Z')) === 'new Date("2014-12-19
9
9
assert ( stringify ( { foo : 'bar' } ) === '{"foo":"bar"}' ) ;
10
10
assert ( stringify ( undefined ) === 'undefined' ) ;
11
11
assert ( stringify ( null ) === 'null' ) ;
12
+ assert (
13
+ stringify ( { val : "</script><script>alert('bad actor')</script>" } ) ===
14
+ '{"val":"\\u003C\\u002Fscript\\u003E\\u003Cscript\\u003Ealert(\'bad actor\')\\u003C\\u002Fscript\\u003E"}'
15
+ ) ;
12
16
13
17
console . log ( 'tests passed' ) ;
You can’t perform that action at this time.
0 commit comments