|
7 | 7 | tests: |
8 | 8 | - |
9 | 9 | test_title: 941370-1 |
10 | | - desc: "Filter bypass using JS global variable" |
| 10 | + desc: "Bypass using comment in syntax and multiple whitespaces" |
11 | 11 | stages: |
12 | 12 | - |
13 | 13 | stage: |
|
17 | 17 | Host: localhost |
18 | 18 | method: GET |
19 | 19 | port: 80 |
20 | | - data: "a=\";document+%2f%2A+foo+%2A%2f+%5B+%22cookie%22+%5D;%2f%2f" |
| 20 | + data: "a=document+%2F%2Afoo%2A%2F+.+++++cookie" |
21 | 21 | version: HTTP/1.1 |
22 | 22 | output: |
23 | 23 | log_contains: id "941370" |
24 | 24 | - |
25 | 25 | test_title: 941370-2 |
26 | | - desc: "Filter bypass using JS global variable" |
| 26 | + desc: "Bypass using comments in syntax" |
27 | 27 | stages: |
28 | 28 | - |
29 | 29 | stage: |
|
33 | 33 | Host: localhost |
34 | 34 | method: POST |
35 | 35 | port: 80 |
36 | | - data: "a=\";window+%2f%2A+foo+%2A%2f+.+document+.+%2f%2A+bar+%2A%2f+cookie%2f%2f" |
| 36 | + data: "a=document%2F%2Afoo%2A%2F.%2F%2Abar%2A%2Fcookie" |
37 | 37 | version: HTTP/1.1 |
38 | 38 | output: |
39 | 39 | log_contains: id "941370" |
40 | 40 | - |
41 | 41 | test_title: 941370-3 |
42 | | - desc: "Filter bypass using JS global variable" |
| 42 | + desc: "Bypass using JavaScript global variables" |
43 | 43 | stages: |
44 | 44 | - |
45 | 45 | stage: |
|
49 | 49 | Host: localhost |
50 | 50 | method: GET |
51 | 51 | port: 80 |
52 | | - data: "a=document.cookie" |
| 52 | + data: "a=window%5B%22alert%22%5D%28window%5B%22document%22%5D%5B%22cookie%22%5D%29" |
53 | 53 | version: HTTP/1.1 |
54 | 54 | output: |
55 | 55 | log_contains: id "941370" |
56 | 56 | - |
57 | 57 | test_title: 941370-4 |
58 | | - desc: "Filter bypass using JS global variable" |
| 58 | + desc: "Bypass using JavaScript global variables and comments in syntax" |
59 | 59 | stages: |
60 | 60 | - |
61 | 61 | stage: |
|
65 | 65 | Host: localhost |
66 | 66 | method: GET |
67 | 67 | port: 80 |
68 | | - data: "a=document .cookie" |
| 68 | + data: "a=self%5B%2F%2Afoo%2A%2F%22alert%22%5D%28self%5B%22document%22%2F%2Abar%2A%2F%5D%5B%22cookie%22%5D%29" |
69 | 69 | version: HTTP/1.1 |
70 | 70 | output: |
71 | 71 | log_contains: id "941370" |
72 | 72 | - |
73 | 73 | test_title: 941370-5 |
74 | | - desc: "Filter bypass using JS global variable" |
| 74 | + desc: "Bypass using JavaScript global variables and string concatenation" |
75 | 75 | stages: |
76 | 76 | - |
77 | 77 | stage: |
|
81 | 81 | Host: localhost |
82 | 82 | method: GET |
83 | 83 | port: 80 |
84 | | - data: "a=document%5B%27cookie%27%5D" |
| 84 | + data: "a=self%5B%2F%2Afoo%2A%2F%22alert%22%5D%28self%5B%22document%22%2F%2Abar%2A%2F%5D%5B%22cookie%22%5D%29" |
85 | 85 | version: HTTP/1.1 |
86 | 86 | output: |
87 | 87 | log_contains: id "941370" |
88 | 88 |
|
| 89 | + - |
| 90 | + test_title: 941370-6 |
| 91 | + desc: "Bypass using JavaScript global variables and comments in syntax" |
| 92 | + stages: |
| 93 | + - |
| 94 | + stage: |
| 95 | + input: |
| 96 | + dest_addr: 127.0.0.1 |
| 97 | + headers: |
| 98 | + Host: localhost |
| 99 | + method: GET |
| 100 | + port: 80 |
| 101 | + data: "a=self++%2F%2Ajhb%2A%2F++%5B++%2F%2Abar%2A%2F++%22alert%22%5D%28%22xss%22%29" |
| 102 | + version: HTTP/1.1 |
| 103 | + output: |
| 104 | + log_contains: id "941370" |
| 105 | + |
| 106 | + - |
| 107 | + test_title: 941370-7 |
| 108 | + desc: "Bypass using JavaScript global variables and jQuery globalEval" |
| 109 | + stages: |
| 110 | + - |
| 111 | + stage: |
| 112 | + input: |
| 113 | + dest_addr: 127.0.0.1 |
| 114 | + headers: |
| 115 | + Host: localhost |
| 116 | + method: GET |
| 117 | + port: 80 |
| 118 | + data: "a=self%5B%22%24%22%5D%5B%22globalEval%22%5D%28%22alert%281%29%22%29" |
| 119 | + version: HTTP/1.1 |
| 120 | + output: |
| 121 | + log_contains: id "941370" |
| 122 | + |
| 123 | + - |
| 124 | + test_title: 941370-8 |
| 125 | + desc: "Bypass using JavaScript global variables and hex escape sequence" |
| 126 | + stages: |
| 127 | + - |
| 128 | + stage: |
| 129 | + input: |
| 130 | + dest_addr: 127.0.0.1 |
| 131 | + headers: |
| 132 | + Host: localhost |
| 133 | + method: GET |
| 134 | + port: 80 |
| 135 | + data: "a=self%5B%22%5Cx24%22%5D" |
| 136 | + version: HTTP/1.1 |
| 137 | + output: |
| 138 | + log_contains: id "941370" |
| 139 | + |
| 140 | + - |
| 141 | + test_title: 941370-9 |
| 142 | + desc: "Bypass trying to access document.cookie using alternative syntax like (document)['cookie']" |
| 143 | + stages: |
| 144 | + - |
| 145 | + stage: |
| 146 | + input: |
| 147 | + dest_addr: 127.0.0.1 |
| 148 | + headers: |
| 149 | + Host: localhost |
| 150 | + method: GET |
| 151 | + port: 80 |
| 152 | + data: "a=%28document%29%5B%22cookie%22%5D" |
| 153 | + version: HTTP/1.1 |
| 154 | + output: |
| 155 | + log_contains: id "941370" |
| 156 | + |
| 157 | + - |
| 158 | + test_title: 941370-10 |
| 159 | + desc: "Bypass trying to access document.cookie using alternative syntax and comments like (document/*foo*/)['cookie']" |
| 160 | + stages: |
| 161 | + - |
| 162 | + stage: |
| 163 | + input: |
| 164 | + dest_addr: 127.0.0.1 |
| 165 | + headers: |
| 166 | + Host: localhost |
| 167 | + method: GET |
| 168 | + port: 80 |
| 169 | + data: "a=%28document%2F%2Afoo%2A%2F%29%5B%22cookie%22%5D" |
| 170 | + version: HTTP/1.1 |
| 171 | + output: |
| 172 | + log_contains: id "941370" |
0 commit comments