pwn 0.5.352 → 0.5.353

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 +1 -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 +69 -24
  11. data/lib/pwn/reports/phone.rb +82 -23
  12. data/lib/pwn/reports/sast.rb +19 -18
  13. data/lib/pwn/reports/uri_buster.rb +79 -23
  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
@@ -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 -Fn \
37
37
  -e '==' \
38
- -e '!=' #{entry} | \
38
+ -e '!=' #{entry} 2> /dev/null | \
39
39
  grep -v \
40
40
  -e '===' \
41
41
  -e '!=='
@@ -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 -in -B2 \
38
- -e 'version' #{entry}
38
+ -e 'version' #{entry} 2> /dev/null
39
39
  "
40
40
 
41
41
  str = `#{test_case_filter}`.to_s.scrub
data/lib/pwn/sast/port.rb CHANGED
@@ -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
@@ -41,7 +41,7 @@ module PWN
41
41
  -e "port\\s=\\s([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])" \
42
42
  -e "port=([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])" \
43
43
  -e "port:([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])" \
44
- -e "port:\\s([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])" #{entry}
44
+ -e "port:\\s([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])" #{entry} 2> /dev/null
45
45
  )
46
46
 
47
47
  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 'postMessage(' #{entry}
38
+ -e 'postMessage(' #{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 -n \
37
- -e 'PRIVATE KEY' #{entry}
37
+ -e 'PRIVATE KEY' #{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 -Ein \
37
37
  -e "redirect(\\s=|=)" \
38
38
  -e "redirect_url(\\s=|=)" \
39
- -e "redirect_uri(\\s=|=)" #{entry}
39
+ -e "redirect_uri(\\s=|=)" #{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
@@ -41,7 +41,7 @@ module PWN
41
41
  -e '(a|a?)+' \
42
42
  -e '(([a-z])' \
43
43
  -e '([a-zA-Z0-9])' \
44
- -e '(.*a)\{' #{entry}
44
+ -e '(.*a)\{' #{entry} 2> /dev/null
45
45
  "
46
46
 
47
47
  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
@@ -42,7 +42,7 @@ module PWN
42
42
  -e '/bin/sh' \
43
43
  -e '/bin/tcsh' \
44
44
  -e '/usr/bin/screen' \
45
- -e '/bin/zsh' #{entry}
45
+ -e '/bin/zsh' #{entry} 2> /dev/null
46
46
  "
47
47
 
48
48
  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 -n \
37
- -e 'Signature' #{entry}
37
+ -e 'Signature' #{entry} 2> /dev/null
38
38
  "
39
39
 
40
40
  str = `#{test_case_filter}`.to_s.scrub
data/lib/pwn/sast/sql.rb CHANGED
@@ -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 'select .*from ' \
39
39
  -e 'insert into .*values' \
40
40
  -e 'update .*set ' \
41
- -e 'delete from ' #{entry}
41
+ -e 'delete from ' #{entry} 2> /dev/null
42
42
  "
43
43
 
44
44
  str = `#{test_case_filter}`.to_s.scrub
data/lib/pwn/sast/ssl.rb CHANGED
@@ -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 'tls' \
39
39
  -e 'trustAll' \
40
40
  -e 'trustmanager' \
41
- -e 'ssl_version' #{entry}
41
+ -e 'ssl_version' #{entry} 2> /dev/null
42
42
  "
43
43
 
44
44
  str = `#{test_case_filter}`.to_s.scrub
data/lib/pwn/sast/sudo.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 -niE \
37
- -e 'sudo' #{entry}
37
+ -e 'sudo' #{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 '//' \
39
39
  -e '<!--' \
40
40
  -e '/**' \
41
- -e '#' #{entry} | \
41
+ -e '#' #{entry} 2> /dev/null | \
42
42
  grep -i \
43
43
  -e SECURITY \
44
44
  -e TODO \
@@ -27,14 +27,15 @@ 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 throw #{entry} | grep '"'
37
+ -e throw #{entry} 2> /dev/null | \
38
+ grep '"'
38
39
  )
39
40
 
40
41
  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 -Fin \
37
37
  -e 'token' \
38
38
  -e 'oauth' \
39
- -e 'decodeAndVerify' #{entry}
39
+ -e 'decodeAndVerify' #{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
@@ -35,7 +35,7 @@ module PWN
35
35
  test_case_filter = "
36
36
  grep -Fn \
37
37
  -e '==' \
38
- -e '!=' #{entry} | \
38
+ -e '!=' #{entry} 2>/dev/null | \
39
39
  grep -v \
40
40
  -e '===' \
41
41
  -e '!=='
@@ -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 "version\\s=\\s" #{entry} | \
37
+ -e "version\\s=\\s" #{entry} 2> /dev/null | \
38
38
  grep -F '"'
39
39
  )
40
40
 
@@ -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 -n \
37
- -e 'window.location.hash' #{entry}
37
+ -e 'window.location.hash' #{entry} 2> /dev/null
38
38
  "
39
39
 
40
40
  str = `#{test_case_filter}`.to_s.scrub
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.5.352'
4
+ VERSION = '0.5.353'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.352
4
+ version: 0.5.353
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.