pwn 0.5.352 → 0.5.354

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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/bin/pwn_fuzz_net_app_proto +4 -3
  4. data/bin/pwn_phone +2 -2
  5. data/bin/pwn_sast +1 -2
  6. data/bin/pwn_www_uri_buster +1 -2
  7. data/lib/pwn/plugins/burp_suite.rb +14 -17
  8. data/lib/pwn/plugins/git.rb +3 -3
  9. data/lib/pwn/plugins/sock.rb +2 -2
  10. data/lib/pwn/reports/fuzz.rb +41 -37
  11. data/lib/pwn/reports/phone.rb +50 -30
  12. data/lib/pwn/reports/sast.rb +19 -18
  13. data/lib/pwn/reports/uri_buster.rb +47 -30
  14. data/lib/pwn/sast/amqp_connect_as_guest.rb +2 -2
  15. data/lib/pwn/sast/apache_file_system_util_api.rb +2 -2
  16. data/lib/pwn/sast/aws.rb +2 -2
  17. data/lib/pwn/sast/banned_function_calls_c.rb +2 -2
  18. data/lib/pwn/sast/base64.rb +2 -2
  19. data/lib/pwn/sast/beef_hook.rb +2 -2
  20. data/lib/pwn/sast/cmd_execution_java.rb +2 -2
  21. data/lib/pwn/sast/cmd_execution_python.rb +2 -2
  22. data/lib/pwn/sast/cmd_execution_ruby.rb +2 -2
  23. data/lib/pwn/sast/cmd_execution_scala.rb +2 -2
  24. data/lib/pwn/sast/csrf.rb +2 -2
  25. data/lib/pwn/sast/deserial_java.rb +2 -2
  26. data/lib/pwn/sast/emoticon.rb +2 -2
  27. data/lib/pwn/sast/eval.rb +2 -2
  28. data/lib/pwn/sast/factory.rb +2 -2
  29. data/lib/pwn/sast/http_authorization_header.rb +2 -2
  30. data/lib/pwn/sast/inner_html.rb +2 -2
  31. data/lib/pwn/sast/keystore.rb +2 -2
  32. data/lib/pwn/sast/local_storage.rb +2 -2
  33. data/lib/pwn/sast/location_hash.rb +2 -2
  34. data/lib/pwn/sast/log4j.rb +2 -2
  35. data/lib/pwn/sast/logger.rb +2 -2
  36. data/lib/pwn/sast/md5.rb +2 -2
  37. data/lib/pwn/sast/outer_html.rb +2 -2
  38. data/lib/pwn/sast/padding_oracle.rb +2 -2
  39. data/lib/pwn/sast/password.rb +2 -2
  40. data/lib/pwn/sast/php_input_mechanisms.rb +2 -2
  41. data/lib/pwn/sast/php_type_juggling.rb +2 -2
  42. data/lib/pwn/sast/pom_version.rb +2 -2
  43. data/lib/pwn/sast/port.rb +2 -2
  44. data/lib/pwn/sast/post_message.rb +2 -2
  45. data/lib/pwn/sast/private_key.rb +2 -2
  46. data/lib/pwn/sast/redirect.rb +2 -2
  47. data/lib/pwn/sast/redos.rb +2 -2
  48. data/lib/pwn/sast/shell.rb +2 -2
  49. data/lib/pwn/sast/signature.rb +2 -2
  50. data/lib/pwn/sast/sql.rb +2 -2
  51. data/lib/pwn/sast/ssl.rb +2 -2
  52. data/lib/pwn/sast/sudo.rb +2 -2
  53. data/lib/pwn/sast/task_tag.rb +2 -2
  54. data/lib/pwn/sast/throw_errors.rb +3 -2
  55. data/lib/pwn/sast/token.rb +2 -2
  56. data/lib/pwn/sast/type_script_type_juggling.rb +2 -2
  57. data/lib/pwn/sast/version.rb +2 -2
  58. data/lib/pwn/sast/window_location_hash.rb +2 -2
  59. data/lib/pwn/version.rb +1 -1
  60. metadata +1 -1
@@ -62,17 +62,13 @@ module PWN
62
62
  border-spacing:0px;
63
63
  }
64
64
 
65
- table.squish {
66
- table-layout: fixed;
67
- }
68
-
69
65
  td {
70
66
  vertical-align: top;
71
67
  word-wrap: break-word !important;
72
68
  }
73
69
 
74
- .highlighted {
75
- background-color: #F2F5A9 !important;
70
+ tr.selected td {
71
+ background-color: #FFF396 !important;
76
72
  }
77
73
  </style>
78
74
 
@@ -92,7 +88,11 @@ module PWN
92
88
  </h1><br /><br />
93
89
  <h2 id="report_name"></h2><br />
94
90
 
95
- <div><button type="button" id="button">Rows Selected</button></div><br />
91
+ <div>
92
+ <!--<button type="button" id="button">Rows Selected</button>-->
93
+ <button type="button" id="export_selected">Export Selected to JSON</button>
94
+ </div><br />
95
+
96
96
  <div>
97
97
  <b>Toggle Column(s):</b>&nbsp;
98
98
  <a class="toggle-vis" data-column="1" href="#">Request Time</a>&nbsp;|&nbsp;
@@ -127,13 +127,23 @@ module PWN
127
127
  <th>HTTP Response Body (300 bytes)</th>
128
128
  </tr>
129
129
  </thead>
130
+ <col width="30px" />
131
+ <col width="60px" />
132
+ <col width="60px" />
133
+ <col width="30px" />
134
+ <col width="90px" />
135
+ <col width="30px" />
136
+ <col width="30px" />
137
+ <col width="30px" />
138
+ <col width="300px" />
139
+ <col width="300px" />
130
140
  <!-- DataTables <tbody> -->
131
141
  </table>
132
142
  </div>
133
143
 
134
144
  <script>
135
145
  var htmlEntityEncode = $.fn.dataTable.render.text().display;
136
- var line_entry_uri = "";
146
+
137
147
  $(document).ready(function() {
138
148
  var oldStart = 0;
139
149
  var table = $('#pwn_www_uri_buster_results').DataTable( {
@@ -153,22 +163,14 @@ module PWN
153
163
  $('html,body').animate({scrollTop: targetOffset}, 500);
154
164
  oldStart = oSettings._iDisplayStart;
155
165
  }
156
- // Select individual lines in a row
157
- $('#multi_line_select tbody').on('click', 'tr', function () {
158
- $(this).toggleClass('highlighted');
159
- if ($('#multi_line_select tr.highlighted').length > 0) {
160
- $('#multi_line_select tr td button').attr('disabled', 'disabled');
161
- // Remove multi-line bug button
162
- } else {
163
- $('#multi_line_select tr td button').removeAttr('disabled');
164
- // Add multi-line bug button
165
- }
166
- });
167
166
  },
168
167
  "ajax": "#{report_name}.json",
169
168
  //"deferRender": true,
170
169
  "dom": "fplitfpliS",
171
170
  "autoWidth": false,
171
+ "select": {
172
+ "style": "multi"
173
+ },
172
174
  "columns": [
173
175
  { "data": null },
174
176
  {
@@ -272,19 +274,34 @@ module PWN
272
274
  column.visible( ! column.visible() );
273
275
  });
274
276
 
275
- // TODO: Open bug for highlighted rows ;)
276
- $('#button').click( function () {
277
- alert($('#multi_line_select tr.highlighted').length +' row(s) highlighted');
278
- });
279
- });
277
+ $('#export_selected').click( function () {
278
+ var selectedRows = table.rows({ selected: true });
279
+ if (selectedRows.count() === 0) {
280
+ alert('No rows selected');
281
+ return;
282
+ }
280
283
 
281
- function multi_line_select() {
282
- // Select all lines in a row
283
- //$('#pwn_www_uri_buster_results tbody').on('click', 'tr', function () {
284
- // $(this).children('td').children('#multi_line_select').children('tbody').children('tr').toggleClass('highlighted');
285
- //});
284
+ $.getJSON(table.ajax.url(), function(original_json) {
285
+ var selected_data = selectedRows.data().toArray();
286
+ original_json.data = selected_data;
286
287
 
287
- }
288
+ if (original_json.report_name) {
289
+ original_json.report_name += '_selected';
290
+ }
291
+
292
+ var json_str = JSON.stringify(original_json, null, 2);
293
+ var blob = new Blob([json_str], { type: 'application/json' });
294
+ var url = URL.createObjectURL(blob);
295
+ var a = document.createElement('a');
296
+ a.href = url;
297
+ a.download = (original_json.report_name || 'selected') + '.json';
298
+ document.body.appendChild(a);
299
+ a.click();
300
+ document.body.removeChild(a);
301
+ URL.revokeObjectURL(url);
302
+ });
303
+ });
304
+ });
288
305
  </script>
289
306
  </body>
290
307
  </html>
@@ -28,7 +28,7 @@ module PWN
28
28
  entry_beautified = false
29
29
 
30
30
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
31
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
31
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
32
32
  entry = "#{entry}.JS-BEAUTIFIED"
33
33
  entry_beautified = true
34
34
  end
@@ -36,7 +36,7 @@ module PWN
36
36
  test_case_filter = "
37
37
  grep -in \
38
38
  -e amqp \
39
- -e rabbit #{entry} | \
39
+ -e rabbit #{entry} 2> /dev/null | \
40
40
  grep guest
41
41
  "
42
42
 
@@ -27,7 +27,7 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
@@ -35,7 +35,7 @@ module PWN
35
35
  test_case_filter = "
36
36
  grep -n \
37
37
  -e 'import org.apache.commons.io.FileSystemUtils' \
38
- -e 'freeSpaceKb' #{entry}
38
+ -e 'freeSpaceKb' #{entry} 2> /dev/null
39
39
  "
40
40
 
41
41
  str = `#{test_case_filter}`.to_s.scrub
data/lib/pwn/sast/aws.rb CHANGED
@@ -26,7 +26,7 @@ module PWN
26
26
  entry_beautified = false
27
27
 
28
28
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
29
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
29
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
30
30
  entry = "#{entry}.JS-BEAUTIFIED"
31
31
  entry_beautified = true
32
32
  end
@@ -36,7 +36,7 @@ module PWN
36
36
  -e 'ec2-' \
37
37
  -e 'access.key' \
38
38
  -e 'secret.access' \
39
- -e 'secret.key' #{entry}
39
+ -e 'secret.key' #{entry} 2> /dev/null
40
40
  "
41
41
 
42
42
  str = `#{test_case_filter}`.to_s.scrub
@@ -28,7 +28,7 @@ module PWN
28
28
  entry_beautified = false
29
29
 
30
30
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
31
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
31
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
32
32
  entry = "#{entry}.JS-BEAUTIFIED"
33
33
  entry_beautified = true
34
34
  end
@@ -163,7 +163,7 @@ module PWN
163
163
  -e 'memcpy' \
164
164
  -e 'RtlCopyMemory' \
165
165
  -e 'CopyMemory' \
166
- -e 'wmemcpy' #{entry}
166
+ -e 'wmemcpy' #{entry} 2> /dev/null
167
167
  "
168
168
 
169
169
  str = `#{test_case_filter}`.to_s.scrub
@@ -27,7 +27,7 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
@@ -35,7 +35,7 @@ module PWN
35
35
  # TODO: Include regex to search for Base64 strings
36
36
  test_case_filter = "
37
37
  grep -Ein \
38
- -e 'BASE64' #{entry}
38
+ -e 'BASE64' #{entry} 2> /dev/null
39
39
  "
40
40
 
41
41
  str = `#{test_case_filter}`.to_s.scrub
@@ -27,14 +27,14 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
34
34
 
35
35
  test_case_filter = "
36
36
  grep -Fin \
37
- -e 'hook.js' #{entry}
37
+ -e 'hook.js' #{entry} 2> /dev/null
38
38
  "
39
39
 
40
40
  str = `#{test_case_filter}`.to_s.scrub
@@ -27,7 +27,7 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
@@ -36,7 +36,7 @@ module PWN
36
36
  grep -Fn \
37
37
  -e 'getEngineByName(' \
38
38
  -e 'ProcessBuilder(' \
39
- -e '.exec(' #{entry}
39
+ -e '.exec(' #{entry} 2> /dev/null
40
40
  "
41
41
 
42
42
  str = `#{test_case_filter}`.to_s.scrub
@@ -27,7 +27,7 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
@@ -38,7 +38,7 @@ module PWN
38
38
  -e 'os.popen' \
39
39
  -e 'os.system' \
40
40
  -e 'subprocess.call' \
41
- -e 'subprocess.Popen' #{entry}
41
+ -e 'subprocess.Popen' #{entry} 2> /dev/null
42
42
  "
43
43
 
44
44
  str = `#{test_case_filter}`.to_s.scrub
@@ -27,7 +27,7 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
@@ -46,7 +46,7 @@ module PWN
46
46
  -e 'Facter::Util::Resolution::exec' \
47
47
  -e 'PTY.spawn' \
48
48
  -e 'Process.fork' \
49
- -e '%x' #{entry}
49
+ -e '%x' #{entry} 2> /dev/null
50
50
  "
51
51
 
52
52
  str = `#{test_case_filter}`.to_s.scrub
@@ -27,7 +27,7 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
@@ -36,7 +36,7 @@ module PWN
36
36
  grep -Fn \
37
37
  -e 'Process(' \
38
38
  -e '.!' \
39
- -e '.!!' #{entry}
39
+ -e '.!!' #{entry} 2> /dev/null
40
40
  "
41
41
 
42
42
  str = `#{test_case_filter}`.to_s.scrub
data/lib/pwn/sast/csrf.rb CHANGED
@@ -28,14 +28,14 @@ module PWN
28
28
  entry_beautified = false
29
29
 
30
30
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
31
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
31
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
32
32
  entry = "#{entry}.JS-BEAUTIFIED"
33
33
  entry_beautified = true
34
34
  end
35
35
 
36
36
  test_case_filter = "
37
37
  grep -ni \
38
- -e 'csrf' #{entry}
38
+ -e 'csrf' #{entry} 2> /dev/null
39
39
  "
40
40
 
41
41
  str = `#{test_case_filter}`.to_s.scrub
@@ -29,7 +29,7 @@ module PWN
29
29
  entry_beautified = false
30
30
 
31
31
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
32
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
32
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
33
33
  entry = "#{entry}.JS-BEAUTIFIED"
34
34
  entry_beautified = true
35
35
  end
@@ -43,7 +43,7 @@ module PWN
43
43
  -e readResolve \
44
44
  -e readExternal \
45
45
  -e readUnshared \
46
- -e Serializable #{entry}
46
+ -e Serializable #{entry} 2> /dev/null
47
47
  "
48
48
 
49
49
  str = `#{test_case_filter}`.to_s.scrub
@@ -27,7 +27,7 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
@@ -41,7 +41,7 @@ module PWN
41
41
  -e '\_o_/' \
42
42
  -e '\_O_/' \
43
43
  -e '\_0_/' \
44
- -e ':-O' #{entry}
44
+ -e ':-O' #{entry} 2> /dev/null
45
45
  "
46
46
 
47
47
  str = `#{test_case_filter}`.to_s.scrub
data/lib/pwn/sast/eval.rb CHANGED
@@ -28,14 +28,14 @@ module PWN
28
28
  entry_beautified = false
29
29
 
30
30
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
31
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
31
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
32
32
  entry = "#{entry}.JS-BEAUTIFIED"
33
33
  entry_beautified = true
34
34
  end
35
35
 
36
36
  test_case_filter = "
37
37
  grep -n \
38
- -e 'eval(' #{entry}
38
+ -e 'eval(' #{entry} 2> /dev/null
39
39
  "
40
40
 
41
41
  str = `#{test_case_filter}`.to_s.scrub
@@ -29,7 +29,7 @@ module PWN
29
29
  entry_beautified = false
30
30
 
31
31
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
32
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
32
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
33
33
  entry = "#{entry}.JS-BEAUTIFIED"
34
34
  entry_beautified = true
35
35
  end
@@ -38,7 +38,7 @@ module PWN
38
38
  grep -in \
39
39
  -e DocumentBuilderFactory \
40
40
  -e XMLInputFactory \
41
- -e SAXParserFactory #{entry}
41
+ -e SAXParserFactory #{entry} 2> /dev/null
42
42
  "
43
43
 
44
44
  str = `#{test_case_filter}`.to_s.scrub
@@ -27,7 +27,7 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
@@ -43,7 +43,7 @@ module PWN
43
43
  -e "Authorization:(\\sVapid|Vapid)" \
44
44
  -e "Authorization:(\\sSCRAM|SCRAM)" \
45
45
  -e "Authorization:(\\sAWS|AWS)" \
46
- -e "authorization(\\s=|=)" #{entry}
46
+ -e "authorization(\\s=|=)" #{entry} 2> /dev/null
47
47
  )
48
48
 
49
49
  str = `#{test_case_filter}`.to_s.scrub
@@ -28,14 +28,14 @@ module PWN
28
28
  entry_beautified = false
29
29
 
30
30
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
31
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
31
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
32
32
  entry = "#{entry}.JS-BEAUTIFIED"
33
33
  entry_beautified = true
34
34
  end
35
35
 
36
36
  test_case_filter = "
37
37
  grep -n \
38
- -e 'innerHTML' #{entry}
38
+ -e 'innerHTML' #{entry} 2> /dev/null
39
39
  "
40
40
 
41
41
  str = `#{test_case_filter}`.to_s.scrub
@@ -27,14 +27,14 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
34
34
 
35
35
  test_case_filter = "
36
36
  grep -Fin \
37
- -e 'keystore' #{entry}
37
+ -e 'keystore' #{entry} 2> /dev/null
38
38
  "
39
39
 
40
40
  str = `#{test_case_filter}`.to_s.scrub
@@ -28,7 +28,7 @@ module PWN
28
28
  entry_beautified = false
29
29
 
30
30
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
31
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
31
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
32
32
  entry = "#{entry}.JS-BEAUTIFIED"
33
33
  entry_beautified = true
34
34
  end
@@ -36,7 +36,7 @@ module PWN
36
36
  test_case_filter = "
37
37
  grep -n \
38
38
  -e 'localStorage.getItem(' \
39
- -e 'localStorage.setItem(' #{entry}
39
+ -e 'localStorage.setItem(' #{entry} 2> /dev/null
40
40
  "
41
41
 
42
42
  str = `#{test_case_filter}`.to_s.scrub
@@ -28,14 +28,14 @@ module PWN
28
28
  entry_beautified = false
29
29
 
30
30
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
31
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
31
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
32
32
  entry = "#{entry}.JS-BEAUTIFIED"
33
33
  entry_beautified = true
34
34
  end
35
35
 
36
36
  test_case_filter = "
37
37
  grep -n \
38
- -e 'location.hash' #{entry}
38
+ -e 'location.hash' #{entry} 2> /dev/null
39
39
  "
40
40
 
41
41
  str = `#{test_case_filter}`.to_s.scrub
@@ -27,14 +27,14 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
34
34
 
35
35
  test_case_filter = "
36
36
  grep -Fin \
37
- -e 'log4j' #{entry}
37
+ -e 'log4j' #{entry} 2> /dev/null
38
38
  "
39
39
 
40
40
  str = `#{test_case_filter}`.to_s.scrub
@@ -28,7 +28,7 @@ module PWN
28
28
  entry_beautified = false
29
29
 
30
30
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
31
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
31
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
32
32
  entry = "#{entry}.JS-BEAUTIFIED"
33
33
  entry_beautified = true
34
34
  end
@@ -38,7 +38,7 @@ module PWN
38
38
  -e '.warn' \
39
39
  -e '.info' \
40
40
  -e '.error' \
41
- -e '.debug' #{entry} | grep -i \
41
+ -e '.debug' #{entry} > /dev/null | grep -i \
42
42
  -e log | grep -i \
43
43
  -e pass \
44
44
  -e pwd \
data/lib/pwn/sast/md5.rb CHANGED
@@ -27,14 +27,14 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
34
34
 
35
35
  test_case_filter = "
36
36
  grep -in \
37
- -e 'md5' #{entry}
37
+ -e 'md5' #{entry} 2> /dev/null
38
38
  "
39
39
 
40
40
  str = `#{test_case_filter}`.to_s.scrub
@@ -28,14 +28,14 @@ module PWN
28
28
  entry_beautified = false
29
29
 
30
30
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
31
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
31
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
32
32
  entry = "#{entry}.JS-BEAUTIFIED"
33
33
  entry_beautified = true
34
34
  end
35
35
 
36
36
  test_case_filter = "
37
37
  grep -n \
38
- -e 'outerHTML' #{entry}
38
+ -e 'outerHTML' #{entry} 2> /dev/null
39
39
  "
40
40
 
41
41
  str = `#{test_case_filter}`.to_s.scrub
@@ -26,7 +26,7 @@ module PWN
26
26
  entry_beautified = false
27
27
 
28
28
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
29
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
29
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
30
30
  entry = "#{entry}.JS-BEAUTIFIED"
31
31
  entry_beautified = true
32
32
  end
@@ -34,7 +34,7 @@ module PWN
34
34
  # TODO: Include regex to search for weak CBC block cipher padding
35
35
  test_case_filter = "
36
36
  grep -Ein \
37
- -e 'AES/CBC/PKCS' #{entry}
37
+ -e 'AES/CBC/PKCS' #{entry} 2> /dev/null
38
38
  "
39
39
 
40
40
  str = `#{test_case_filter}`.to_s.scrub
@@ -27,7 +27,7 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
@@ -38,7 +38,7 @@ module PWN
38
38
  -e "passwd(\\s=|=)" \
39
39
  -e "pass(\\s=|=)" \
40
40
  -e "password:\\s" \
41
- -e "pwd(\\s=|=)" #{entry}
41
+ -e "pwd(\\s=|=)" #{entry} 2> /dev/null
42
42
  )
43
43
 
44
44
  str = `#{test_case_filter}`.to_s.scrub
@@ -27,7 +27,7 @@ module PWN
27
27
  entry_beautified = false
28
28
 
29
29
  if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
30
- js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
31
31
  entry = "#{entry}.JS-BEAUTIFIED"
32
32
  entry_beautified = true
33
33
  end
@@ -40,7 +40,7 @@ module PWN
40
40
  -e '$_POST' \
41
41
  -e '$_REQUEST' \
42
42
  -e '$_SERVER' \
43
- -e '$_SESSION' #{entry}
43
+ -e '$_SESSION' #{entry} 2> /dev/null
44
44
  "
45
45
 
46
46
  str = `#{test_case_filter}`.to_s.scrub