pwn 0.5.399 → 0.5.401

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e10ec68e7ef2ebf6cce111bacbb8c9fbe95a5f5db4f775f845f1d1829d30f89a
4
- data.tar.gz: 0fec666835b27fae7f193a6468d78c5351eec13cffd6293d3e175fec7dcc3891
3
+ metadata.gz: d84bc3035034f9064b99d250eaebdae6868b2a6c67df2cd4ce9463060f32115f
4
+ data.tar.gz: 4be12fe5b7df1abdf32a8ce0944eafa6e627138823b0010bc05ad9be2181a35c
5
5
  SHA512:
6
- metadata.gz: 69b64372dbe837e9320ad98a1064956b12581f154c1d14e1e77d1f4ba4e2de0530fa5b8ba13c31320fd4f8cbbcaf7db81c62b44f5612ef576355e7c997d685ae
7
- data.tar.gz: 0b2fbf6d6c83e491ec54a30e114adddae1a211b063ca66d4aca07388df80da8b8fd2d455cb884523d3bedb31740de4f0a79986ccb5bfd496430087c81a427dd6
6
+ metadata.gz: fbd47dd6ccf640ea9cfaebefb5ee4543ceb878f403700ddcc211872764ceb0ec5a494657fe3b5cd25f1f80039130bdea3c738b66d8cce31fec00a697667b48e0
7
+ data.tar.gz: eff9efbad951fe531b743fea854f23f38afd1e55101d2c88a6b2134ab7a2689710957c1eedb90bba97bf1bac46d15b88972cdae0aa8ce83bbc67aa5d83af3351
@@ -1,180 +1,181 @@
1
- 22b6ac6 Merge pull request #734 from ninp0/master
2
- 2dd1517 PWN::Plugins::JiraServer module - attachment #bugfixes
3
- a60f75b Merge pull request #733 from ninp0/master
4
- 303df8c PWN::Plugins::JiraServer module - implement attachment support in #update_issue method, create #get_user method, and update usage in #help method
5
- d50e2a0 Merge pull request #732 from ninp0/master
6
- 4f43542 PWN::Plugins::JiraServer module - #bugfixes in #rest_call method
7
- 96083c3 Merge pull request #731 from ninp0/master
8
- 9671992 PWN::Plugins::JiraServer module - implement attachment support in #create_issue method and update usage in #help method
9
- fc201e5 Merge pull request #730 from ninp0/master
10
- eb14b6c PWN::Plugins::JiraServer module - add #update_issue && #delete_issue methods
11
- ecb8846 Merge pull request #729 from ninp0/master
12
- 11e0418 PWN::Plugins::JiraServer module - #bugfix in #create_issue method
13
- 3c569a2 Merge pull request #728 from ninp0/master
14
- d552c7c PWN::Plugins::JiraServer module - #bugfix in #rest_call method
15
- f670236 Merge pull request #727 from ninp0/master
16
- d2d9e8f PWN::Plugins::JiraServer module - #bugfix in #create_issue method
17
- 74770c8 Merge pull request #726 from ninp0/master
18
- b56164e PWN::Plugins::JiraServer module - #bugfixes in #create_issue method
19
- 4870083 Merge pull request #725 from ninp0/master
20
- 4186563 PWN::Plugins::JiraServer module - ensure `additional_fields` parameter contains the `:fields` key for streamlined merging in #create_issue method
21
- 0be22c2 Merge pull request #724 from ninp0/master
22
- 94239bb PWN::Plugins::JiraServer module - #bugfix in #get_all_fields && #create_issue methods
23
- 6f2adcf Merge pull request #723 from ninp0/master
24
- 27b924d PWN::Plugins::JiraServer module - implement #create_issue && #get_all_fields methods
25
- c361ec5 Merge pull request #722 from ninp0/master
26
- f82f9ba build_pwn_gem.sh - display funding information at the end of script
27
- 12f4679 Merge pull request #721 from ninp0/master
28
- 4efd4f0 PWN::Plugins::JiraServer module - update example `issue` parameter examples in #get_issue method
29
- 8238c1c Merge pull request #720 from ninp0/master
30
- bf8eead pwn.gemspec - Add sponsor link to support `bundle fund` command #rubocop_fix
31
- 449792c Merge pull request #719 from ninp0/master
32
- db5dd43 PWN::Plugins::JiraServer module - update example `base_api_uri` parameter examples in #help method
33
- e7c2c20 Merge pull request #718 from ninp0/master
34
- fab3c3d pwn.gemspec - Add sponsor link to support `bundle fund` command
35
- e3742fa Merge pull request #717 from ninp0/master
36
- 5ab2f40 PWN::Plugins::JiraServer module - add optional parameter `params` in #manual_call and #get_issue methods
37
- eb7527b Merge pull request #716 from ninp0/master
38
- 19e80a0 PWN::Plugins::JiraServer module - more descriptive error handling in rescue `RestClient::ExceptionWithResponse`
39
- 0a7167a Merge pull request #715 from ninp0/master
40
- 6a1cdbf #rubocop fixes
41
- 97deda5 PWN::Plugins::JiraServer module - bugfix in rescue within #rest_call method
42
- 13c16a8 Merge pull request #714 from ninp0/master
43
- b3e8407 PWN::Plugins::VIN module - initial commit
44
- 3543abe Merge pull request #713 from ninp0/master
45
- 8e81734 PWN::Plugins::BlackDuckBinaryAnalysis module - update #help method
46
- e53e08f Merge pull request #712 from ninp0/master
47
- 4516786 PWN::Plugins::BlackDuckBinaryAnalysis module && pwn_bdba_scan Driver - Support SPDX report type withing #generate_product_report method
48
- 7a4afa9 Merge pull request #711 from ninp0/master
49
- 8c6c270 Gemfile - bump to latest gem versions
50
- d11c5a1 Merge pull request #710 from ninp0/master
51
- af14e9f .ruby-version - Bump to ruby-3.4.4
52
- f864d02 Merge pull request #709 from ninp0/master
53
- aecb567 All modules within `PWN::SAST` namespace - update NIST 800-53 URI values for `nist_800_53_uri` key in #security_references method #bugfixes
54
- 62414c8 Merge pull request #708 from ninp0/master
55
- f75da21 All modules within `PWN::SAST` namespace - update NIST 800-53 URI values for `nist_800_53_uri` key in #security_references method
56
- 53fde1c Merge pull request #707 from ninp0/master
57
- a52bae2 Packer provisioners - #bugfixes in aliases.rb && radare2.sh
58
- c8e8a39 Merge pull request #706 from ninp0/master
59
- 5317fb2 PWN::Banner::Radare2AI module - initial commmit
60
- 9dee091 Packer aliases.sh provisioner - slight tweak to r2_prompt
61
- a25de35 Merge pull request #705 from ninp0/master
62
- cb42884 Packer aliases.sh provisioner - cleaner r2_prompt
63
- 487080c Merge pull request #704 from ninp0/master
64
- cf54811 Packer provisioner Radare2 - #bugfix in path to r2-pwn-layout
65
- 994de46 Rubocop fixes
66
- 3c97de9 Packer provisioner Radare2 - install decompiler and AI plugins && add r2 alias to aliases.sh
67
- c30c6b1 Merge pull request #703 from ninp0/master
68
- f9322b4 Gemfile - bump gem versions to latest
69
- dacf572 install.sh - add Packer provisioner `bashrc.sh` to `ruby-gem` `pwn_deploy_type`
70
- f64826a Merge pull request #702 from ninp0/master
71
- 1d25a30 pwn_bdba_scan Driver - #bugfix in `--queue-timeout`, `--scan-attempts`, and `--sleep-between-scan-attempts`
72
- b7466c0 Merge pull request #701 from ninp0/master
73
- 32c4a79 PWN::Plugins::SonMicroRFID module - #rubocop
74
- 275d477 PWN::Plugins::SonMicroRFID module - change authN in #read_tag method to be optional and false by default
75
- e7be0e6 Merge pull request #700 from ninp0/master
76
- e358e3c pwn_serial_son_micro_sm132_rfid Driver - add ability to update a single tag and refactor PWN::Plugins::SonMicroRFID for better stability
77
- 5223320 pwn_serial_msr206 Driver - tweak in menu labels
78
- 2064c4f Merge pull request #699 from ninp0/master
79
- 11230fe pwn_serial_msr206 Driver - add ability to update a single card and refactor PWN::Plugins::MSR206 for better stability
80
- 8d5b33f Merge pull request #698 from ninp0/master
81
- b06af52 pwn_serial_msr206 - Minor #bugfixes in MSR206 driver
82
- 6b8ab7c Merge pull request #697 from ninp0/master
83
- 7edea37 Rubocop - auto-gen-config and implement fix in PWN::Plugins::XXD module
84
- 6a9c1ea Gemfile - pull in latest gem versions
85
- 520179d Gemfile - pull in latest gem versions per Dependabot alerts
86
- 5d37ba7 Merge pull request #696 from ninp0/master
87
- 68735ea Gemfile - pull in latest gem versions
88
- 6d20ac2 Merge pull request #695 from ninp0/master
89
- 034afc4 Gemfile - pull in latest gem versions
90
- 974a73c Merge pull request #694 from ninp0/master
91
- c030676 Gemfile - pull in latest gem versions
92
- bef4609 Gemfile - pull in latest gem versions
93
- 2b3096b Merge pull request #693 from ninp0/master
94
- 1c539f8 Gemfile - pull in latest gem versions
95
- d36a20b Merge pull request #692 from ninp0/master
96
- 9cb54fc `rubocop --auto-gen-config`
97
- c331c05 Gemfile - pull in latest gem versions
98
- a26e739 Merge pull request #691 from ninp0/master
99
- e4c332f Gemfile - pull in latest gem versions
100
- 8cd388f Merge pull request #690 from ninp0/master
101
- a048fc2 PWN::WWW::REPL module - #bugfixs in scope details for pwn-irc command (i.e. AI chat env)
102
- b8ec447 Merge pull request #689 from ninp0/master
103
- 57ce056 PWN::WWW::HackerOne module - return all data from graphql query in #get_scope_details method
104
- 85808bf Merge pull request #688 from ninp0/master
105
- e803d94 PWN::WWW::HackerOne module - implement #get_hacktivity method
106
- 63ff432 Merge pull request #687 from ninp0/master
107
- 4378666 Gemfile - pull in latest gem versions
108
- 4278027 Merge pull request #686 from ninp0/master
109
- f9fbec5 Gemfile - pull in latest gem versions
110
- 86641b2 Merge pull request #685 from ninp0/master
111
- fdede41 Gemfile - pull in latest gem versions
112
- 255909a Merge pull request #684 from ninp0/master
113
- 7f31110 Gemfile - pull in latest gem versions
114
- a8731f8 Merge pull request #683 from ninp0/master
115
- 3b6cd2e Gemfile - pull in latest gem versions
116
- df928e0 Merge pull request #682 from ninp0/master
117
- 69f2ed1 pwn_nmap_discover_tcp_udp - #bugfix in `unitialized constant FileUtils (NameError)`
118
- 32b9752 Merge pull request #681 from ninp0/master
119
- 65f69d7 Gemfile - bump version of meshtastic that eliminates conflict w/ wisper binaries and pulls in latest protobuf for meshtastic
120
- 5e86d11 Merge pull request #680 from ninp0/master
121
- 4be100e PWN::Plugins::FlipperZero module - #more_bugfixes
122
- 8b74a2b PWN::Plugins::FlipperZero module - #bugfixes
123
- e06ba71 PWN::Plugins::FlipperZero module - #tweaks
124
- af5540e PWN::Plugins::FlipperZero module - Initial commit
125
- d152d16 Merge pull request #679 from ninp0/master
126
- 2568761 Gemfile && PWN::Plugins::Serial module - #bugfixes / migration #tweaks
127
- 93234f9 Merge pull request #678 from ninp0/master
128
- ea35d38 Gemfile && PWN::Plugins::Serial module - migrate deprecated serialport gem to uart gem :P
129
- 8ede362 Ruby - bump version to 3.4.1
130
- 8d9597e Merge pull request #677 from ninp0/master
131
- 25354f1 PWN::Banners::Matrix module - add #you? method for fun animation
132
- 353d3ed PWN::Banners::Matrix module - add #you? method for fun animation
133
- a36646d Merge pull request #676 from ninp0/master
134
- 73a53c6 PWN::Plugins::Vault - update usage for #edit and #help methods to include editor parameter
135
- 2a5554c Merge pull request #675 from ninp0/master
136
- 512ff1d PWN::Plugins::Vault - ensure editor path exists prior to decrypting file.
137
- 9c3ce45 Merge pull request #674 from ninp0/master
138
- 778f3e9 PWN::Plugins::DetectOS module - simplify #arch method
139
- 0fdb24d PWN::Plugins::DetectOS module - add #endian method to simply its use in other modules, drivers, && sub-commands
140
- ec5ad8b Merge pull request #673 from ninp0/master
141
- 021ba5e pwn-asm sub-command in pwn REPL driver, PWN::Plugins::REPL, && PWN::Plugins::Assembly modules - Unless explicity overridden in pwn.yaml, ensure the pwn-asm subcommand in the pwn REPL driver defaults to the underlying CPU arch / endian values #minor_tweaks
142
- 12628ea pwn-asm sub-command in pwn REPL driver, PWN::Plugins::REPL, && PWN::Plugins::Assembly modules - Unless explicity overridden in pwn.yaml, ensure the pwn-asm subcommand in the pwn REPL driver defaults to the underlying CPU arch / endian values
143
- 5099dec Merge pull request #672 from ninp0/master
144
- 4693f2e pwn-asm sub-command in pwn REPL driver, PWN::Plugins::REPL, && PWN::Plugins::Assembly modules - support manually overriding arch/endian in pwn-asm leveraging pwn.yaml config. Also add method in PWN::Plugins::Assembly module to list supported archs.
145
- bf31499 Merge pull request #671 from ninp0/master
146
- 7e8bcb9 PWN::Plugins::OpenAI module - #bugfixes in #create_fine_tune method
147
- 9ac4b03 Merge pull request #670 from ninp0/master
148
- e4e109e PWN::Plugins::OpenAI module && pwn_rdoc_to_jsonl - update API calls for fine tuning and format of JSONL dataset to upload
149
- b56cbb8 PWN::Plugins::OpenAI module && pwn_rdoc_to_jsonl - update API calls for fine tuning and format of JSONL dataset to upload
150
- d5eb2c8 pwn_rdoc_to_jsonl driver - dynamically generate fine-tune JSONL data for training LLMs in AI #ai_pwn #slight_tweak
151
- 4879528 pwn_rdoc_to_jsonl driver - dynamically generate fine-tune JSONL data for training LLMs in AI #ai_pwn
152
- 766b2f6 Merge pull request #669 from ninp0/master
153
- 9eea050 PWN::Plugins::BlackDuckBinaryAnalysis module - update base URI for API
154
- d4cf53c PWN::Plugins::BlackDuckBinaryAnalysis module - update base URI for API
155
- 439e167 Merge pull request #668 from ninp0/master
156
- ac98160 PWN::Plugins::DefectDojo module - return all engagements without overloading server via #engagement_list method
157
- c7218e7 Merge pull request #667 from ninp0/master
158
- 46d8c8f README.md - sync up PWN::VERSION value
159
- 8c81963 Merge pull request #666 from ninp0/master
160
- 11ad596 PWN drivers - ensure all PWN drivers contain "frozen_string_literal: true"
161
- 6cac60b Merge pull request #665 from ninp0/master
162
- 5e42dd8 PWN::Plugins::REPL module - #bugfix in pwn-ai command when API key does not support a given model
163
- 04bbcf8 Merge pull request #664 from ninp0/master
164
- dd1e5e9 Gemfile - add ostruct gem to suppress warnings that it is no longer included in the standard library
165
- e23da99 reinstall_pwn_gemset.sh - workaround for serialport gem installation
166
- abe5ef3 Gemfile - bump versions to latest
167
- 9fcdd41 Gemfile - bump versions to latest
168
- 04c341f PWN::Plugins::OpenAI && PWN::Plugins::REPL modules - Enhance AI capabilities within pwn-ai REPL environment
169
- dfb5f81 Merge pull request #663 from ninp0/master
170
- 3792cb1 .ruby-version - Bump to 3.3.5
171
- 334ace0 Merge pull request #662 from ninp0/master
172
- 147ca25 pwn_web_cache_deception Driver - Rubocop fix
173
- 6f7e544 PWN::Plugins::OpenAI - update default LLM model to latest gpt-4o model made publicly available
174
- 95e4655 Merge pull request #661 from ninp0/master
175
- 8f3bd25 PWN::Plugins::TransparentBrowser module - reveal "optimized" JavaScript variables when devtools: true when using Firefox
176
- 089fa4c PWN::Plugins::TransparentBrowser module - reveal "optimized" JavaScript variables when devtools: true when isong Firefox
177
- 913a8a4 Merge pull request #660 from ninp0/master
178
- d2f2e82 pwn.gemspec - #rubocop && PWN::Plugins::OpenAI module - update default model to gpt-4o-2024-05-13
179
- eca0901 .ruby-version - Bump to 3.3.4
180
- 36718ad Merge pull request #659 from ninp0/master
1
+ 0e6a161 Merge pull request #815 from ninp0/master
2
+ cd06863 pwn_burp_*, pwn_zaproxy*, PWN::Plugins::BurpSuite, && PWN::Plugins::Zaproxy - sync dev patterns as closely as possible - iteration 1
3
+ e619eb4 Merge pull request #814 from ninp0/master
4
+ c91ef60 pwn_burp_suite_pro_active_rest_api_scan Driver - location in which the openapi_spec is dropped matters.
5
+ b083176 Merge pull request #813 from ninp0/master
6
+ 2dbe8df PWN::Plugins::OpenAPI module - #bugfixes resolving properties $ref attributes when generating openapi spec #slight_tweak
7
+ d98e54b Merge pull request #812 from ninp0/master
8
+ 125b69f PWN::Plugins::OpenAPI module - #bugfixes resolving properties $ref attributes when generating openapi spec
9
+ 77e110b Merge pull request #811 from ninp0/master
10
+ ac7d1cf PWN::SAST::Logger && PWN::SAST::ThrowErrors modules - refine anti-patterns
11
+ 8074714 Merge pull request #810 from ninp0/master
12
+ 4db65d9 PWN::Reports::HTMLHeader && PWN::Reports::HTMLFooter modules - remove unncessary require statements
13
+ 9350072 PWN::Reports::SAST - slight UI tweaks / change search label value to provide search example
14
+ e080194 Merge pull request #809 from ninp0/master
15
+ 4399586 PWN::Reports::SAST - offload reusable footer code into PWN::Reports::HTMLFooter module
16
+ 9968e44 Merge pull request #808 from ninp0/master
17
+ 0ecc452 pwn_burp_suite_pro_active_rest_api_scan Driver - initial commit
18
+ 6b47120 Merge pull request #807 from ninp0/master
19
+ 0bc36c9 Gemfile and pwn.gemspec tweaks
20
+ 4c969cd pwn_sast Driver && PWN::Reports::SAST module - UI enhancements
21
+ 4aa4616 Merge pull request #806 from ninp0/master
22
+ bab13ac pwn_sast Driver && PWN::Reports::SAST module - Enhanced PDF and XLSX report exports, cell formatting fixes, include hyperlinks in reports, slight tweak to UI header
23
+ 31960c5 Merge pull request #805 from ninp0/master
24
+ 0de729f pwn_sast Driver && PWN::Reports::SAST module - Enhanced PDF and XLSX report exports #slight_tweaks
25
+ 13027dd Merge pull request #804 from ninp0/master
26
+ f005e98 pwn_sast Driver && PWN::Reports::SAST module - Enhanced PDF and XLSX report exports
27
+ 990fa89 pwn_sast Driver && PWN::Reports::SAST module - UI overhaul, implement export to PDF and XLSX in addition to JSON
28
+ 6d40c0b Merge pull request #803 from ninp0/master
29
+ 0c8c4b1 pwn_sast Driver - #bugfixes
30
+ 78f98d4 pwn_sast Driver - #bugfixes
31
+ 39f1853 pwn_sast Driver - #bugfixes
32
+ 376f7bc pwn_sast Driver - #bugfixes
33
+ 69a5f7f pwn_sast Driver - #bugfixes
34
+ 60efd51 PWN::Plugins::FileFu module - create #recurse_in_dir method to support pwn_sast Driver scanning repos that are explicitly passed instead of scanning in current working directory. Update PWN::SAST::* modules to support this as well.
35
+ 2332dc6 Merge pull request #802 from ninp0/master
36
+ a207630 PWN::AI::OpenAI module - update default model to gpt-5-chat-latest in #chat method
37
+ 4ca1f58 Merge pull request #801 from ninp0/master
38
+ de7ebe5 pwn_sast Driver && PWN::Reports::SAST module - enhanced progress reporting when generating report.
39
+ abbb0d5 pwn_sast Driver && PWN::Reports::SAST module - implement optional AI analysis of SAST results
40
+ 62a6e88 Merge pull request #800 from ninp0/master
41
+ 29f8925 Add new namespace, `PWN::AI` and move PWN::Plugins::OpenAI and PWN::Plugins::Ollama modules to the new namespace. Also new initial commit for `PWN::AI::Grok` module.
42
+ 0f427b7 Merge pull request #799 from ninp0/master
43
+ 18809bf PWN::Plugins::BurpSuite module - `require "yaml"` for brevity
44
+ 9292522 Merge pull request #798 from ninp0/master
45
+ f60a31f PWN::Plugins::BurpSuite module - more robust example handling to reconstuct accurate HTTP requests for #import_openapi_to_sitemap method
46
+ 7df2319 Merge pull request #797 from ninp0/master
47
+ 2d83e69 PWN::Plugins::BurpSuite module - #bugfix in #add_to_sitemap
48
+ b7af7c3 PWN::Plugins::BurpSuite module - #bugfix in #add_to_sitemap
49
+ 99e7070 Merge pull request #796 from ninp0/master
50
+ 9f7b78e PWN::Plugins::BurpSuite module - update #import_openapi_to_sitemap method to support YAML for openapi_spec parameter
51
+ 6959f27 Merge pull request #795 from ninp0/master
52
+ 56db7de PWN::Plugins::BurpSuite module - crank up timeouts for adding requests to sitemap for really slow test envs
53
+ 4a6a8f5 PWN::Plugins::BurpSuite module - crank up timeouts for adding requests to sitemap for really slow test envs
54
+ 4eb9c03 Merge pull request #794 from ninp0/master
55
+ 82a76a1 PWN::Plugins::BurpSuite module - crank up max heap memory constraints and set min heap memory to 4G within #start method
56
+ e9360cd Merge pull request #793 from ninp0/master
57
+ daffbe1 pwn_burp_suite_pro_active_scan Driver - #bugfix change ---in_scope to --in_scope parameter
58
+ f0b4139 Merge pull request #792 from ninp0/master
59
+ 4956561 pwn_burp_suite_pro_active_scan Driver && PWN::Plugins::BurpSuite module - implement --exlude-path parameter to avoid scanning URLs that may terminate sessions prematurely
60
+ 7e01c8e Merge pull request #791 from ninp0/master
61
+ a5b6b2b PWN::Plugins::BurpSuite module - update #stop method to gracefullly shutdown Burp UI and preserve any Extensions installed during the session
62
+ f49f25f Merge pull request #790 from ninp0/master
63
+ b55870e Nuke burp mock test reports
64
+ c56d5d9 Merge pull request #789 from ninp0/master
65
+ 342dd5b PWN::Plugins::BurpSuite module - include query parameter in format_uri_from_sitemap_resp method
66
+ 346393a Merge pull request #788 from ninp0/master
67
+ 03e9e37 PWN::Reports::* modules - retain original report name for selected lines exported to JSON file
68
+ 5c86dcb Merge pull request #787 from ninp0/master
69
+ 5fa1cdf PWN::Plugins::BurpSuite module - #enhancements in #import_openapi_to_sitemap method to constuct more accurate http response in the Sitemap
70
+ bae133e Merge pull request #786 from ninp0/master
71
+ b1249c8 PWN::Plugins::BurpSuite module - #bugfix in #import_openapi_to_sitemap method
72
+ 1141fdf Merge pull request #785 from ninp0/master
73
+ 40d3f72 pwn_burp_suite_pro_active_scan Driver - optimize for both authenticated and unauthenticated scanning
74
+ 3129c28 Merge pull request #784 from ninp0/master
75
+ e348a61 Merge branch 'master' of ssh://github.com/ninp0/pwn
76
+ f4cf106 PWN::Plugins::BurpSuite module - cleaner status output to STDOUT when running #invoke_active_scan method #rubocop
77
+ b30e6e1 Merge pull request #783 from ninp0/master
78
+ 929d818 PWN::Plugins::BurpSuite module - cleaner status output to STDOUT when running #invoke_active_scan method
79
+ 02e0b17 PWN::Plugins::BurpSuite module - implement proxy listener CRUD and allow for concurrent burp active scan sessions
80
+ 1890ed8 Merge pull request #782 from ninp0/master
81
+ 1d2a495 PWN::Reports::* modules - support multi-line select and exporting selected lines to external JSON file
82
+ 1e072e8 pwn_fuzz_net_app_proto Driver - #bugfixes && PWN::Reports::* modules begin extending all reports to support multi-line select and exporting selecting lines to external JSON file
83
+ de63465 Merge pull request #781 from ninp0/master
84
+ d39dd94 PWN::Reports::SAST module - implement multi-line select/highlighting and export highlighted results to JSON file for consumption by tools like DefectDojo
85
+ ccf4692 Merge pull request #780 from ninp0/master
86
+ 5b08c3b PWN::Plugins::BurpSuite module - update #import_openapi_to_sitemap method to aggregate remaining HTTP header names from spec, reference as keys, and assign their respective values to the request_headers hash
87
+ 1fe2155 Merge pull request #779 from ninp0/master
88
+ 2afb327 PWN::Plugins::BurpSuite module - update #import_openapi_to_sitemap method to include more obvious placeholders when schema examples cannot be found in the spec
89
+ a2e3ff5 Merge pull request #778 from ninp0/master
90
+ d5673d4 PWN::Plugins::OpenAPI module - suppoort aliases when parsing YAML documents
91
+ 0411777 Merge pull request #777 from ninp0/master
92
+ 70b6ceb PWN::Plugins::BurpSuite module - update usage in #help method && prettier STDOUT in pwn_burp_suite_pro_active_scan Driver
93
+ 8f28ff1 Merge pull request #776 from ninp0/master
94
+ 1917900 PWN::Plugins::BurpSuite module - #bugfix remove #stop method from #in_scope method
95
+ 1431ad9 Merge pull request #775 from ninp0/master
96
+ cec08c6 PWN::Plugins::BurpSuite module - #bugfix remove #stop method from #in_scope method
97
+ a490ed7 Merge pull request #774 from ninp0/master
98
+ 5d8ecfb PWN::Plugins::BurpSuite module - more debugging in #invoke_active_scan method && Enhanced search capabilities for PWN::Reports::* modules
99
+ 3447154 Merge pull request #773 from ninp0/master
100
+ 226d7df PWN::Plugins::BurpSuite module - more debugging in #invoke_active_scan method
101
+ cb8d237 Merge pull request #772 from ninp0/master
102
+ 9245fe1 Merge branch 'master' of ssh://github.com/ninp0/pwn
103
+ 5ef6539 Merge pull request #771 from ninp0/master
104
+ 11c6bac PWN::Plugins::BurpSuite module - more debugging in #invoke_active_scan method
105
+ 94d17f9 PWN::Plugins::BurpSuite module - more debugging in #invoke_active_scan method
106
+ fa54fe9 Merge pull request #770 from ninp0/master
107
+ f4a32fe PWN::Plugins::BurpSuite module - #bugfix in #spider method
108
+ 9007671 Merge pull request #769 from ninp0/master
109
+ 574301b PWN::Plugins::BurpSuite module - temporarily remove stop in ensure block for #invoke_active_scan method
110
+ 3fc144b Merge pull request #768 from ninp0/master
111
+ 47f2828 PWN::Plugins::BurpSuite module - begin working towards supporting proxy listener settings within #start method
112
+ 857cab9 PWN::Plugins::BurpSuite module - implement a #spider method and include this feature as an option within the pwn_burp_suite_pro_active_scan Driver. #enhancements
113
+ 663c25d Merge pull request #767 from ninp0/master
114
+ 0f3c593 PWN::Plugins::BurpSuite module - implement a #spider method and include this feature as an option within the pwn_burp_suite_pro_active_scan Driver.
115
+ f302712 Merge pull request #766 from ninp0/master
116
+ 83812a4 PWN::Plugins::BurpSuite module - #bugfix when attempting to scan URI that responds w code other than 200 #keepitmoving
117
+ 70fea2b PWN::Plugins::BurpSuite module - #bugfix when attempting to scan URI that responds w code other than 200 #keepitmoving
118
+ 1eedf4b Merge pull request #765 from ninp0/master
119
+ 0f72609 PWN::Plugins::BurpSuite module - #bugfix when attempting to scan URI that responds w code other than 200 #keepitmoving
120
+ 4d8469b Merge pull request #764 from ninp0/master
121
+ 4942a7b PWN::Plugins::BurpSuite module - a lot of integrations for pwn-burp.jar Burp Extension && PWN::Plugins::OpenAPI module - oh buddy...
122
+ 4126d2f Merge pull request #763 from ninp0/master
123
+ 72f8a5a PWN::Plugins::OpenAPI module - initial commit
124
+ da3de9e Merge pull request #762 from ninp0/master
125
+ ed0272c VERSION.rb - bump version to align w/ rubygems
126
+ a4d508d third_party/*.jar - remove burp extensions
127
+ 1cd05db Merge pull request #761 from ninp0/master
128
+ 9fdd26f third party - replace BurpSuite extension, BurpBuddy w/ PWNBurpRestAPI
129
+ 1a97d75 Merge pull request #760 from ninp0/master
130
+ 806e5a2 pwn_burp_suite_pro_active_scan Driver - output each instruction to STDOUT while redacting sensitive data. #slight_tweak
131
+ 87984b9 Merge pull request #759 from ninp0/master
132
+ ad0db78 pwn_burp_suite_pro_active_scan Driver - output each instruction to STDOUT while redacting sensitive data.
133
+ b953b32 Merge pull request #758 from ninp0/master
134
+ b2c8755 pwn_burp_suite_pro_active_scan Driver - Add to scope prior to executing navigation instructions
135
+ 2dcee71 Merge pull request #757 from ninp0/master
136
+ 7ee1968 PWN::Plugins::BurpSuite - #bugfix within #generate_scan_report method
137
+ 3e9d42b PWN::Plugins::BurpSuite - #bugfix within #generate_scan_report method
138
+ ffdf5c1 PWN::Plugins::BurpSuite - #bugfix within #generate_scan_report method
139
+ 41e7d90 Merge pull request #756 from ninp0/master
140
+ 180c187 PWN::Plugins::BurpSuite - test use_https values in post_body variable within #invoke_scan_method
141
+ 88fb7790 Merge pull request #755 from ninp0/master
142
+ 5abaf61 PWN::Plugins::BurpSuite - #bugfix in json_uri generation within #invoke_active_scan method
143
+ b59b53b Merge pull request #754 from ninp0/master
144
+ cd30423 PWN::Plugins::BurpSuite - test useHttps values in post_body variable within #invoke_scan_method
145
+ 2dad6b1 Merge pull request #753 from ninp0/master
146
+ 9620af0 PWN::Reports::* modules - Update # of entries / page options to be 10, 25, 50, 100, 250, 500, 1000, 2500, 5000
147
+ 703564f Merge pull request #752 from ninp0/master
148
+ 2a04764 PWN::Plugins::TransparentBrowser module - more efficient / stable #list_tabs method
149
+ c52492e Merge pull request #751 from ninp0/master
150
+ 5a1a72c Gemfile - comment out openapi3_parser for REST API testing as dependencies break pwn install in OpenBSD
151
+ dbf3bb3 Merge pull request #750 from ninp0/master
152
+ a0a3af6 PWN::Plugins::TransparentBrowser module - specify optional `index` parameter to dictate which DOM mutations to view or hide
153
+ 10f9d15 Merge pull request #749 from ninp0/master
154
+ 94abfa8 Gemfile - pull in openapi3_parser for REST API testing && PWN::Plugins::TransparentBrowser module - overhaul on tab management
155
+ 5ba895a Merge pull request #748 from ninp0/master
156
+ ac80447 PWN::Plugins::TransparentBrowser module - change `keyword` parameter in #jmp_tab method to optional, defaulting to switching to the next inactive tab from the list returned by the #list_tabs method
157
+ 651a7e0 Merge pull request #747 from ninp0/master
158
+ efcc3af PWN::Plugins::TransparentBrowser module - multi-tab support within #view_dom_mutations #hide_dom_mutations methods
159
+ 317c7f8 Merge pull request #746 from ninp0/master
160
+ c9a9917 PWN::Plugins::TransparentBrowser module - enhancements in #view_dom_mutations methods to include common sinks for DOM XSS
161
+ 30184bd Merge pull request #745 from ninp0/master
162
+ 99de13a PWN::Plugins::TransparentBrowser module - enhancements in #console and #view_dom_mutations methods. #bugfixes in #hide_dom_mutations method
163
+ c113537 Merge pull request #744 from ninp0/master
164
+ 4db450b PWN::Plugins::TransparentBrowser module - add methods to output DOM mutations in the console when devtools = true #bugfixes
165
+ 5efdc25 Merge pull request #743 from ninp0/master
166
+ 6223de5 PWN::Plugins::TransparentBrowser module - add methods to output DOM mutations in the console when devtools = true
167
+ 924f1d5 Merge pull request #742 from ninp0/master
168
+ 4bf4f16 PWN::Plugins::TransparentBrowser module - add methods to output DOM mutations in the console when devtools = true
169
+ c0c716c Merge pull request #741 from ninp0/master
170
+ 0aa8cd5 PWN::Plugins::TransparentBrowser module - begin supporting BiDi for browsers that support this more standardized approach to automating browser navigation
171
+ c0770a1 Merge pull request #740 from ninp0/master
172
+ 30627ca PWN::Report::SAST module - extend proper line anchor formatting for different git source code managment software solutions
173
+ ee79c1d Merge pull request #739 from ninp0/master
174
+ a6e05f5 PWN::Plugins::JiraServer module - #bugfix in #issue_comment method
175
+ a8d9da7 Merge pull request #738 from ninp0/master
176
+ 0226316 PWN::Plugins::JiraServer module - always return value of #get_issue when performing issue CRUD actions within other methods (except delete, cause well, issue == nil)
177
+ 7bd820b Merge pull request #737 from ninp0/master
178
+ 624738f PWN::Plugins::JiraServer module - support attaching multiple files in issue w/ one call to either #create_issue or #update_issue. Additionally, implement the ability to delete attachments via #delete_attachment method and manage comments for an issue via #issue_comment method.
179
+ 33f1303 Merge pull request #736 from ninp0/master
180
+ 4dd158d PWN::Plugins::JiraServer module - attachment #bugfixes
181
+ 720bdb9 Merge pull request #735 from ninp0/master
data/Gemfile CHANGED
@@ -20,7 +20,7 @@ gem 'barby', '0.7.0'
20
20
  gem 'base32', '0.3.4'
21
21
  gem 'brakeman', '7.1.0'
22
22
  gem 'bson', '5.1.1'
23
- gem 'bundler', '>=2.7.1'
23
+ gem 'bundler', '>=2.7.2'
24
24
  gem 'bundler-audit', '0.9.2'
25
25
  gem 'bunny', '2.24.0'
26
26
  gem 'colorize', '1.1.0'
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ cd /opt/pwn
37
37
  $ ./install.sh
38
38
  $ ./install.sh ruby-gem
39
39
  $ pwn
40
- pwn[v0.5.399]:001 >>> PWN.help
40
+ pwn[v0.5.401]:001 >>> PWN.help
41
41
  ```
42
42
 
43
43
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -52,7 +52,7 @@ $ rvm use ruby-3.4.4@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.5.399]:001 >>> PWN.help
55
+ pwn[v0.5.401]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
  If you're using a multi-user install of RVM do:
@@ -62,7 +62,7 @@ $ rvm use ruby-3.4.4@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.5.399]:001 >>> PWN.help
65
+ pwn[v0.5.401]:001 >>> PWN.help
66
66
  ```
67
67
 
68
68
  PWN periodically upgrades to the latest version of Ruby which is reflected in `/opt/pwn/.ruby-version`. The easiest way to upgrade to the latest version of Ruby from a previous PWN installation is to run the following script:
@@ -20,8 +20,8 @@ OptionParser.new do |options|
20
20
  opts[:target_url] = t
21
21
  end
22
22
 
23
- options.on('-oPATH', '--report_output_path=PATH', '<Required - Output Path for Active Scan Issues>') do |o|
24
- opts[:output_path] = o
23
+ options.on('-oDIR', '--report_output_dir=DIR', '<Required - Output Directory for Active Scan Report>') do |o|
24
+ opts[:output_dir] = o
25
25
  end
26
26
 
27
27
  options.on('-dSWAGGER', '--swagger_definitions=SWAGGER', '<Required - Comma-delimited list of Swagger JSON/YAML files to import>') do |s|
@@ -72,8 +72,8 @@ begin
72
72
  target_url = opts[:target_url]
73
73
  raise 'ERROR: --target_url is required.' if target_url.nil?
74
74
 
75
- output_path = opts[:output_path]
76
- raise 'ERROR: --report_output_path is required.' if output_path.nil?
75
+ output_dir = opts[:output_dir]
76
+ raise 'ERROR: --report_output_dir is required.' if output_dir.nil?
77
77
 
78
78
  swagger_definitions = opts[:swagger_definitions]
79
79
  raise 'ERROR: --swagger_definitions is required.' if swagger_definitions.nil?
@@ -141,19 +141,13 @@ begin
141
141
  # puts scan_issues
142
142
 
143
143
  # Once DefectDojo begins to support XML report results
144
- report_types = %i[html xml]
144
+ report_types = %i[html markdown xml]
145
145
  report_types.each do |report_type|
146
- this_output_path = "#{output_path}.html"
147
- # this_output_path = "#{File.dirname(output_path)}/#{File.basename(output_path, File.extname(output_path))}.html"
148
-
149
- this_output_path = "#{output_path}.xml" if report_type == :xml
150
- # this_output_path = "#{File.dirname(output_path)}/#{File.basename(output_path, File.extname(output_path))}.xml" if report_type == :xml
151
-
152
146
  PWN::Plugins::Zaproxy.generate_scan_report(
153
147
  zap_obj: zap_obj,
154
148
  target_url: in_scope,
155
149
  report_type: report_type,
156
- output_path: this_output_path
150
+ output_dir: output_dir
157
151
  )
158
152
  end
159
153
 
@@ -161,6 +155,5 @@ begin
161
155
  rescue StandardError => e
162
156
  raise e
163
157
  ensure
164
- FileUtils.rm_f(openapi_spec) unless debug
165
158
  zap_obj = PWN::Plugins::Zaproxy.stop(zap_obj: zap_obj) unless zap_obj.nil?
166
159
  end
@@ -59,7 +59,8 @@ end
59
59
  begin
60
60
  logger = PWN::Plugins::PWNLogger.create
61
61
 
62
- api_key = opts[:api_key].to_s.strip.chomp.scrub
62
+ api_key = opts[:api_key]
63
+ raise 'ERROR: --api_key is required.' if api_key.nil?
63
64
 
64
65
  if opts[:browser_type].nil?
65
66
  browser_type = :chrome
@@ -56,7 +56,7 @@ module PWN
56
56
 
57
57
  public_class_method def self.start(opts = {})
58
58
  burp_jar_path = opts[:burp_jar_path] ||= '/opt/burpsuite/burpsuite-pro.jar'
59
- raise 'Invalid path to burp jar file. Please check your spelling and try again.' unless File.exist?(burp_jar_path)
59
+ raise "ERROR: #{burp_jar_path} not found." unless File.exist?(burp_jar_path)
60
60
 
61
61
  raise 'ERROR: /opt/burpsuite/pwn-burp.jar not found. For more details about installing this extension, checkout https://github.com/0dayinc/pwn_burp' unless File.exist?('/opt/burpsuite/pwn-burp.jar')
62
62
 
@@ -1013,6 +1013,183 @@ module PWN
1013
1013
  raise e
1014
1014
  end
1015
1015
 
1016
+ # Supported Method Parameters::
1017
+ # repeater_id = PWN::Plugins::BurpSuite.add_repeater_tab(
1018
+ # burp_obj: 'required - burp_obj returned by #start method',
1019
+ # name: 'required - name of the repeater tab (max 30 characters)',
1020
+ # request: 'optional - base64 encoded HTTP request string'
1021
+ # )
1022
+
1023
+ public_class_method def self.add_repeater_tab(opts = {})
1024
+ burp_obj = opts[:burp_obj]
1025
+ raise 'ERROR: burp_obj parameter is required' unless burp_obj.is_a?(Hash)
1026
+
1027
+ name = opts[:name]
1028
+ raise 'ERROR: name parameter is required' if name.nil?
1029
+
1030
+ request = opts[:request]
1031
+ raise 'ERROR: request parameter is required' if request.nil?
1032
+
1033
+ rest_browser = burp_obj[:rest_browser]
1034
+ pwn_burp_api = burp_obj[:pwn_burp_api]
1035
+
1036
+ post_body = {
1037
+ name: name[0..29],
1038
+ request: request
1039
+ }.to_json
1040
+
1041
+ repeater_resp = rest_browser.post(
1042
+ "http://#{pwn_burp_api}/repeater",
1043
+ post_body,
1044
+ content_type: 'application/json; charset=UTF8'
1045
+ )
1046
+
1047
+ repeater_resp = JSON.parse(repeater_resp, symbolize_names: true)
1048
+ { id: repeater_resp[:value] }
1049
+ rescue StandardError => e
1050
+ raise e
1051
+ end
1052
+
1053
+ # Supported Method Parameters::
1054
+ # repeater_tabs = PWN::Plugins::BurpSuite.get_all_repeater_tabs(
1055
+ # burp_obj: 'required - burp_obj returned by #start method'
1056
+ # )
1057
+
1058
+ public_class_method def self.get_all_repeater_tabs(opts = {})
1059
+ burp_obj = opts[:burp_obj]
1060
+ raise 'ERROR: burp_obj parameter is required' unless burp_obj.is_a?(Hash)
1061
+
1062
+ rest_browser = burp_obj[:rest_browser]
1063
+ pwn_burp_api = burp_obj[:pwn_burp_api]
1064
+
1065
+ repeater_resp = rest_browser.get(
1066
+ "http://#{pwn_burp_api}/repeater",
1067
+ content_type: 'application/json; charset=UTF8'
1068
+ )
1069
+
1070
+ JSON.parse(repeater_resp, symbolize_names: true)
1071
+ rescue StandardError => e
1072
+ raise e
1073
+ end
1074
+
1075
+ # Supported Method Parameters::
1076
+ # repeater_tab = PWN::Plugins::BurpSuite.get_repeater_tab(
1077
+ # burp_obj: 'required - burp_obj returned by #start method',
1078
+ # id: 'required - id of the repeater tab to get'
1079
+ # )
1080
+
1081
+ public_class_method def self.get_repeater_tab(opts = {})
1082
+ burp_obj = opts[:burp_obj]
1083
+ raise 'ERROR: burp_obj parameter is required' unless burp_obj.is_a?(Hash)
1084
+
1085
+ id = opts[:id]
1086
+ raise 'ERROR: id parameter is required' if id.nil?
1087
+
1088
+ rest_browser = burp_obj[:rest_browser]
1089
+ pwn_burp_api = burp_obj[:pwn_burp_api]
1090
+
1091
+ repeater_resp = rest_browser.get(
1092
+ "http://#{pwn_burp_api}/repeater/#{id}",
1093
+ content_type: 'application/json; charset=UTF8'
1094
+ )
1095
+
1096
+ JSON.parse(repeater_resp, symbolize_names: true)
1097
+ rescue StandardError => e
1098
+ raise e
1099
+ end
1100
+
1101
+ # Supported Method Parameters::
1102
+ # repeater_resp = PWN::Plugins::BurpSuite.send_repeater_request(
1103
+ # burp_obj: 'required - burp_obj returned by #start method',
1104
+ # id: 'required - id of the repeater tab to send'
1105
+ # )
1106
+
1107
+ public_class_method def self.send_repeater_request(opts = {})
1108
+ burp_obj = opts[:burp_obj]
1109
+ raise 'ERROR: burp_obj parameter is required' unless burp_obj.is_a?(Hash)
1110
+
1111
+ id = opts[:id]
1112
+ raise 'ERROR: id parameter is required' if id.nil?
1113
+
1114
+ rest_browser = burp_obj[:rest_browser]
1115
+ pwn_burp_api = burp_obj[:pwn_burp_api]
1116
+
1117
+ repeater_resp = rest_browser.post(
1118
+ "http://#{pwn_burp_api}/repeater/#{id}/send",
1119
+ content_type: 'application/json; charset=UTF8'
1120
+ )
1121
+
1122
+ JSON.parse(repeater_resp, symbolize_names: true)
1123
+ rescue StandardError => e
1124
+ raise e
1125
+ end
1126
+
1127
+ # Supported Method Parameters::
1128
+ # repeater_obj = PWN::Plugins::BurpSuite.update_repeater_tab(
1129
+ # burp_obj: 'required - burp_obj returned by #start method',
1130
+ # id: 'required - id of the repeater tab to update',
1131
+ # name: 'required - name of the repeater tab (max 30 characters)',
1132
+ # request: 'required - base64 encoded HTTP request string'
1133
+ # )
1134
+
1135
+ public_class_method def self.update_repeater_tab(opts = {})
1136
+ burp_obj = opts[:burp_obj]
1137
+ raise 'ERROR: burp_obj parameter is required' unless burp_obj.is_a?(Hash)
1138
+
1139
+ id = opts[:id]
1140
+ raise 'ERROR: id parameter is required' if id.nil?
1141
+
1142
+ name = opts[:name]
1143
+ raise 'ERROR: name parameter is required' if name.nil?
1144
+
1145
+ request = opts[:request]
1146
+ raise 'ERROR: request parameter is required' if request.nil?
1147
+
1148
+ rest_browser = burp_obj[:rest_browser]
1149
+ pwn_burp_api = burp_obj[:pwn_burp_api]
1150
+
1151
+ put_body = {
1152
+ name: name[0..29],
1153
+ request: request
1154
+ }.to_json
1155
+
1156
+ repeater_resp = rest_browser.put(
1157
+ "http://#{pwn_burp_api}/repeater/#{id}",
1158
+ put_body,
1159
+ content_type: 'application/json; charset=UTF8'
1160
+ )
1161
+
1162
+ JSON.parse(repeater_resp, symbolize_names: true)
1163
+ rescue StandardError => e
1164
+ raise e
1165
+ end
1166
+
1167
+ # Supported Method Parameters::
1168
+ # uri_in_scope = PWN::Plugins::BurpSuite.delete_repeater_tab(
1169
+ # burp_obj: 'required - burp_obj returned by #start method',
1170
+ # id: 'required - id of the repeater tab to delete'
1171
+ # )
1172
+
1173
+ public_class_method def self.delete_repeater_tab(opts = {})
1174
+ burp_obj = opts[:burp_obj]
1175
+ raise 'ERROR: burp_obj parameter is required' unless burp_obj.is_a?(Hash)
1176
+
1177
+ id = opts[:id]
1178
+ raise 'ERROR: id parameter is required' if id.nil?
1179
+
1180
+ rest_browser = burp_obj[:rest_browser]
1181
+ pwn_burp_api = burp_obj[:pwn_burp_api]
1182
+
1183
+ rest_browser.delete(
1184
+ "http://#{pwn_burp_api}/repeater/#{id}",
1185
+ content_type: 'application/json; charset=UTF8'
1186
+ )
1187
+
1188
+ { id: id }
1189
+ rescue StandardError => e
1190
+ raise e
1191
+ end
1192
+
1016
1193
  # Supported Method Parameters::
1017
1194
  # PWN::Plugins::BurpSuite.generate_scan_report(
1018
1195
  # burp_obj: 'required - burp_obj returned by #start method',
@@ -1212,6 +1389,38 @@ module PWN
1212
1389
  burp_obj: 'required - burp_obj returned by #start method'
1213
1390
  ).to_json
1214
1391
 
1392
+ repeater_id = #{self}.add_repeater_tab(
1393
+ burp_obj: 'required - burp_obj returned by #start method',
1394
+ name: 'required - name of the repeater tab (max 30 characters)',
1395
+ request: 'optional - base64 encoded HTTP request string'
1396
+ )
1397
+
1398
+ repeater_tabs = #{self}.get_all_repeater_tabs(
1399
+ burp_obj: 'required - burp_obj returned by #start method'
1400
+ )
1401
+
1402
+ repeater_tab = #{self}.get_repeater_tab(
1403
+ burp_obj: 'required - burp_obj returned by #start method',
1404
+ id: 'required - id of the repeater tab to get'
1405
+ )
1406
+
1407
+ repeater_resp = #{self}.send_repeater_request(
1408
+ burp_obj: 'required - burp_obj returned by #start method',
1409
+ id: 'required - id of the repeater tab to send'
1410
+ )
1411
+
1412
+ repeater_obj = #{self}.update_repeater_tab(
1413
+ burp_obj: 'required - burp_obj returned by #start method',
1414
+ id: 'required - id of the repeater tab to update',
1415
+ name: 'required - name of the repeater tab (max 30 characters)',
1416
+ request: 'required - base64 encoded HTTP request string'
1417
+ )
1418
+
1419
+ repeater_obj = #{self}.delete_repeater_tab(
1420
+ burp_obj: 'required - burp_obj returned by #start method',
1421
+ id: 'required - id of the repeater tab to delete'
1422
+ )
1423
+
1215
1424
  #{self}.generate_scan_report(
1216
1425
  burp_obj: 'required - burp_obj returned by #start method',
1217
1426
  target_url: 'required - target_url passed to #active_scan method',
@@ -81,42 +81,34 @@ module PWN
81
81
 
82
82
  public_class_method def self.start(opts = {})
83
83
  zap_obj = {}
84
- api_key = opts[:api_key].to_s.scrub.strip.chomp
84
+ api_key = opts[:api_key]
85
+ raise 'ERROR: api_key must be provided' if api_key.nil?
86
+
85
87
  zap_obj[:api_key] = api_key
86
88
 
87
- if opts[:zap_bin_path]
88
- zap_bin_path = opts[:zap_bin_path]
89
- raise "ERROR: zap.sh not found at #{zap_bin_path}" unless File.exist?(zap_bin_path)
90
- else
91
- underlying_os = PWN::Plugins::DetectOS.type
92
-
93
- case underlying_os
94
- when :linux
95
- zap_bin_path = '/usr/share/zaproxy/zap.sh'
96
- when :osx
97
- zap_bin_path = '/Applications/OWASP\ ZAP.app/Contents/Java/zap.sh'
98
- else
99
- raise "ERROR: zap.sh not found for #{underlying_os}. Please pass the :zap_bin_path parameter to this method for proper execution"
100
- end
101
- end
89
+ zap_bin_path = opts[:zap_bin_path] ||= '/usr/share/zaproxy/zap.sh'
90
+ raise "ERROR: #{zap_bin_path} not found." unless File.exist?(zap_bin_path)
102
91
 
103
92
  zap_bin = File.basename(zap_bin_path)
104
- zap_dir = File.dirname(zap_bin_path)
93
+ zap_root = File.dirname(zap_bin_path)
105
94
 
106
95
  headless = opts[:headless] || false
107
96
  browser_type = opts[:browser_type] ||= :firefox
108
97
  zap_ip = opts[:zap_ip] ||= '127.0.0.1'
109
98
  zap_port = opts[:zap_port] ||= PWN::Plugins::Sock.get_random_unused_port
110
99
 
111
- zap_rest_ip = opts[:pwn_zap_ip] ||= '127.0.0.1'
112
- zap_rest_port = opts[:pwn_zap_port] ||= PWN::Plugins::Sock.get_random_unused_port
100
+ zap_rest_ip = zap_ip
101
+ zap_rest_port = zap_port
113
102
 
114
103
  if headless
115
- zaproxy_cmd = "cd #{zap_dir} && ./#{zap_bin} -daemon"
104
+ zaproxy_cmd = "cd #{zap_root} && ./#{zap_bin} -daemon"
116
105
  else
117
- zaproxy_cmd = "cd #{zap_dir} && ./#{zap_bin}"
106
+ zaproxy_cmd = "cd #{zap_root} && ./#{zap_bin}"
118
107
  end
119
108
 
109
+ zaproxy_cmd = "#{zaproxy_cmd} -host #{zap_ip} -port #{zap_port}"
110
+
111
+ zap_obj[:pid] = Process.spawn(zaproxy_cmd)
120
112
  browser_obj1 = PWN::Plugins::TransparentBrowser.open(browser_type: :rest)
121
113
  rest_browser = browser_obj1[:browser]
122
114
 
@@ -124,8 +116,6 @@ module PWN
124
116
  zap_obj[:zap_rest_api] = zap_obj[:mitm_proxy]
125
117
  zap_obj[:rest_browser] = rest_browser
126
118
 
127
- zaproxy_cmd = "#{zaproxy_cmd} -host #{zap_ip} -port #{zap_port}"
128
-
129
119
  browser_obj2 = PWN::Plugins::TransparentBrowser.open(
130
120
  browser_type: browser_type,
131
121
  proxy: "http://#{zap_obj[:mitm_proxy]}",
@@ -134,52 +124,18 @@ module PWN
134
124
 
135
125
  zap_obj[:zap_browser] = browser_obj2
136
126
 
137
- pwn_stdout_log_path = "/tmp/pwn_plugins_owasp-#{SecureRandom.hex}.log"
138
- pwn_stdout_log = File.new(pwn_stdout_log_path, 'w')
139
- # Immediately writes all buffered data in IO to disk
140
- pwn_stdout_log.sync = true
141
- pwn_stdout_log.fsync
142
-
143
- fork_pid = Process.fork do
144
- PTY.spawn(zaproxy_cmd) do |stdout, _stdin, _pid|
145
- stdout.each do |line|
146
- puts line
147
- pwn_stdout_log.puts line
148
- end
149
- end
150
- rescue PTY::ChildExited, SystemExit, Interrupt, Errno::EIO
151
- puts 'Spawned OWASP Zap PTY exiting...'
152
- File.unlink(pwn_stdout_log_path)
153
- rescue StandardError => e
154
- puts 'Spawned process exiting...'
155
- File.unlink(pwn_stdout_log_path)
156
- raise e
157
- end
158
- Process.detach(fork_pid)
159
-
160
- zap_obj[:pid] = fork_pid
161
- zap_obj[:stdout_log] = pwn_stdout_log_path
162
- # This is how we'll know OWSAP Zap is in a ready state.
163
- # if headless
164
- # return_pattern = '[ZAP-daemon] INFO org.zaproxy.zap.DaemonBootstrap - ZAP is now listening'
165
- # else
166
- # case underlying_os
167
- # when :linux
168
- # return_pattern = '[AWT-EventQueue-1] INFO hsqldb.db..ENGINE - Database closed'
169
- # when :osx
170
- # return_pattern = '[AWT-EventQueue-0] INFO hsqldb.db..ENGINE - Database closed'
171
- # end
172
- # end
173
- return_pattern = 'Started callback service on'
174
-
127
+ # Wait for pwn_burp_port to open prior to returning burp_obj
175
128
  loop do
176
- return zap_obj if File.exist?(pwn_stdout_log_path) &&
177
- File.read(
178
- pwn_stdout_log_path
179
- ).include?(return_pattern)
180
-
129
+ s = TCPSocket.new(zap_rest_ip, zap_rest_port)
130
+ s.close
131
+ break
132
+ rescue Errno::ECONNREFUSED
133
+ print '.'
181
134
  sleep 3
135
+ next
182
136
  end
137
+
138
+ zap_obj
183
139
  rescue StandardError, SystemExit, Interrupt => e
184
140
  stop(zap_obj) unless zap_obj.nil?
185
141
  raise e
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.399'
4
+ VERSION = '0.5.401'
5
5
  end
@@ -520,6 +520,7 @@
520
520
  {"messages":[{"role":"user","content":"PWN::Plugins::BlackDuckBinaryAnalysis.get_vulnerabilities Usage"},{"role":"assistant","content":"`PWN::Plugins::BlackDuckBinaryAnalysis.get_vulnerabilities`: Supported Method Parameters\n\nresponse = PWN::Plugins::BlackDuckBinaryAnalysis.get_vulnerabilities(\n\ntoken: 'required - Bearer token'\n\n)\n"}]}
521
521
  {"messages":[{"role":"user","content":"PWN::Plugins::BlackDuckBinaryAnalysis.help Usage"},{"role":"assistant","content":"`PWN::Plugins::BlackDuckBinaryAnalysis.help`: "}]}
522
522
  {"messages":[{"role":"user","content":"PWN::Plugins::BlackDuckBinaryAnalysis.upload_file Usage"},{"role":"assistant","content":"`PWN::Plugins::BlackDuckBinaryAnalysis.upload_file`: Supported Method Parameters\n\nresponse = PWN::Plugins::BlackDuckBinaryAnalysis.upload_file(\n\ntoken: 'required - Bearer token',\nfile: 'required - path of file to upload',\ngroup_id: 'optional - group id',\ndelete_binary: 'optional - delete binary after upload (defaults to false)',\nforce_scan: 'optional - force scan (defaults to false)',\ncallback_url: 'optional - callback url',\nscan_infoleak: 'optional - scan infoleak (defaults to true)',\ncode_analysis: 'optional - code analysis (defaults to true)',\nscan_code_familiarity: 'optional - scan code familiarity (defaults to false)',\nversion: 'optional - version',\nproduct_id: 'optional - product id'\n\n)\n"}]}
523
+ {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.active_scan Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.active_scan`: Supported Method Parameters\n\nactive_scan_url_arr = PWN::Plugins::BurpSuite.active_scan(\n\nburp_obj: 'required - burp_obj returned by #start method',\ntarget_url: 'required - target url to scan in sitemap (should be loaded & authenticated w/ burp_obj[:burp_browser])',\nexclude_paths: 'optional - array of paths to exclude from active scan (default: [])'\n\n)\n"}]}
523
524
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.add_proxy_listener Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.add_proxy_listener`: Supported Method Parameters\n\njson_proxy_listener = PWN::Plugins::BurpSuite.add_proxy_listener(\n\nburp_obj: 'required - burp_obj returned by #start method',\nbind_address: 'required - bind address for the proxy listener (e.g., \"127.0.0.1\")',\nport: 'required - port for the proxy listener (e.g., 8081)',\nenabled: 'optional - enable the listener (defaults to true)'\n\n)\n"}]}
524
525
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.add_to_scope Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.add_to_scope`: Supported Method Parameters\n\njson_in_scope = PWN::Plugins::BurpSuite.add_to_scope(\n\nburp_obj: 'required - burp_obj returned by #start method',\ntarget_url: 'required - target url to add to scope'\n\n)\n"}]}
525
526
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.add_to_sitemap Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.add_to_sitemap`: "}]}
@@ -528,14 +529,13 @@
528
529
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.disable_proxy Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.disable_proxy`: Supported Method Parameters\n\nPWN::Plugins::BurpSuite.disable_proxy(\n\nburp_obj: 'required - burp_obj returned by #start method'\n\n)\n"}]}
529
530
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.enable_proxy Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.enable_proxy`: Supported Method Parameters\n\nPWN::Plugins::BurpSuite.enable_proxy(\n\nburp_obj: 'required - burp_obj returned by #start method'\n\n)\n"}]}
530
531
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.format_uri_from_sitemap_resp Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.format_uri_from_sitemap_resp`: Supported Method Parameters\n\nuri = PWN::Plugins::BurpSuite.format_uri_from_sitemap_resp(\n\nscheme: 'required - scheme of the URI (http|https)',\nhost: 'required - host of the URI',\nport: 'optional - port of the URI',\npath: 'optional - path of the URI',\nquery: 'optional - query string of the URI'\n\n)\n"}]}
531
- {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.generate_scan_report Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.generate_scan_report`: Supported Method Parameters\n\nPWN::Plugins::BurpSuite.generate_scan_report(\n\nburp_obj: 'required - burp_obj returned by #start method',\ntarget_url: 'required - target_url passed to #invoke_active_scan method',\nreport_type: :html|:xml|:both,\noutput_path: 'required - path to save report results'\n\n)\n"}]}
532
+ {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.generate_scan_report Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.generate_scan_report`: Supported Method Parameters\n\nPWN::Plugins::BurpSuite.generate_scan_report(\n\nburp_obj: 'required - burp_obj returned by #start method',\ntarget_url: 'required - target_url passed to #active_scan method',\noutput_dir: 'required - directory to save the report',\nreport_type: required - <:html|:xml>'\n\n)\n"}]}
532
533
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.get_proxy_listeners Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.get_proxy_listeners`: Supported Method Parameters\n\njson_proxy_listeners = PWN::Plugins::BurpSuite.get_proxy_listeners(\n\nburp_obj: 'required - burp_obj returned by #start method'\n\n)\n"}]}
533
534
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.get_scan_issues Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.get_scan_issues`: Supported Method Parameters\n\njson_scan_issues = PWN::Plugins::BurpSuite.get_scan_issues(\n\nburp_obj: 'required - burp_obj returned by #start method'\n\n)\n"}]}
534
535
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.get_sitemap Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.get_sitemap`: Supported Method Parameters\n\njson_sitemap = PWN::Plugins::BurpSuite.get_sitemap(\n\nburp_obj: 'required - burp_obj returned by #start method',\ntarget_url: 'optional - target URL to filter sitemap results (defaults to entire sitemap)'\n\n)\n"}]}
535
536
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.help Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.help`: "}]}
536
537
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.import_openapi_to_sitemap Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.import_openapi_to_sitemap`: "}]}
537
538
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.in_scope Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.in_scope`: Supported Method Parameters\n\nuri_in_scope = PWN::Plugins::BurpSuite.in_scope(\n\nburp_obj: 'required - burp_obj returned by #start method',\nuri: 'required - URI to determine if in scope'\n\n)\n"}]}
538
- {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.invoke_active_scan Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.invoke_active_scan`: Supported Method Parameters\n\nactive_scan_url_arr = PWN::Plugins::BurpSuite.invoke_active_scan(\n\nburp_obj: 'required - burp_obj returned by #start method',\ntarget_url: 'required - target url to scan in sitemap (should be loaded & authenticated w/ burp_obj[:burp_browser])',\nexclude_paths: 'optional - array of paths to exclude from active scan (default: [])'\n\n)\n"}]}
539
539
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.spider Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.spider`: Supported Method Parameters\n\njson_spider = PWN::Plugins::BurpSuite.spider(\n\nburp_obj: 'required - burp_obj returned by #start method',\ntarget_url: 'required - target url to add to crawl / spider'\n\n)\n"}]}
540
540
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.start Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.start`: Supported Method Parameters\n\nburp_obj1 = PWN::Plugins::BurpSuite.start(\n\nburp_jar_path: 'optional - path of burp suite pro jar file (defaults to /opt/burpsuite/burpsuite_pro.jar)',\nheadless: 'optional - run burp headless if set to true',\nbrowser_type: 'optional - defaults to :firefox. See PWN::Plugins::TransparentBrowser.help for a list of types',\nburp_ip: 'optional - IP address for the Burp proxy (defaults to 127.0.0.1)',\nburp_port: 'optional - port for the Burp proxy (defaults to a random unused port)',\npwn_burp_ip: 'optional - IP address for the PWN Burp API (defaults to 127.0.0.1)',\npwn_burp_port: 'optional - port for the PWN Burp API (defaults to a random unused port)'\n\n)\n"}]}
541
541
  {"messages":[{"role":"user","content":"PWN::Plugins::BurpSuite.stop Usage"},{"role":"assistant","content":"`PWN::Plugins::BurpSuite.stop`: Supported Method Parameters\n\nPWN::Plugins::BurpSuite.stop(\n\nburp_obj: 'required - burp_obj returned by #start method'\n\n)\n"}]}
@@ -826,19 +826,6 @@
826
826
  {"messages":[{"role":"user","content":"PWN::Plugins::OpenVAS.last_report_id Usage"},{"role":"assistant","content":"`PWN::Plugins::OpenVAS.last_report_id`: Supported Method Parameters\n\nlast_report_id = PWN::Plugins::OpenVAS.last_report_id(\n\ntask_name: 'required task name to start',\nusername: 'required username',\npassword: 'optional password (will prompt if nil)'\n\n)\n"}]}
827
827
  {"messages":[{"role":"user","content":"PWN::Plugins::OpenVAS.save_report Usage"},{"role":"assistant","content":"`PWN::Plugins::OpenVAS.save_report`: Supported Method Parameters\n\nPWN::Plugins::OpenVAS.save_report(\n\nreport_type: 'required report type (csv|itg|pdf|txt|xml)',\nreport_id: 'required report id to save',\nreport_dir: 'required directory to save report',\nusername: 'required username',\npassword: 'optional password (will prompt if nil)',\nreport_filter: 'optional - results filter (Default: \"apply_overrides=0 levels=hml rows=1000 min_qod=70 first=1 sort-reverse=severity\")\n\n)\n"}]}
828
828
  {"messages":[{"role":"user","content":"PWN::Plugins::OpenVAS.start_task Usage"},{"role":"assistant","content":"`PWN::Plugins::OpenVAS.start_task`: Supported Method Parameters\n\nstart_task_xml_resp = PWN::Plugins::OpenVAS.start_task(\n\ntask_name: 'required task name to start',\nusername: 'required username',\npassword: 'optional password (will prompt if nil)'\n\n)\n"}]}
829
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.active_scan Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.active_scan`: Supported Method Parameters\n\nPWN::Plugins::OwaspZap.active_scan(\n\nzap_obj: 'required - zap_obj returned from #open method',\ntarget: 'required - url to scan',\nscan_policy: 'optional - scan policy to use (defaults to Default Policy)'\n\n)\n"}]}
830
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.alerts Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.alerts`: Supported Method Parameters\n\nPWN::Plugins::OwaspZap.alerts(\n\nzap_obj: 'required - zap_obj returned from #open method',\ntarget: 'required - base url to return alerts'\n\n)\n"}]}
831
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
832
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.breakpoint Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.breakpoint`: Supported Method Parameters\n\nPWN::Plugins::OwaspZap.breakpoint(\n\nzap_obj: 'required - zap_obj returned from #open method',\nregex_type: 'required - :url, :request_header, :request_body, :response_header or :response_body',\nregex_pattern: 'required - regex pattern to search for respective regex_type',\nenabled: 'optional - boolean (defaults to true)'\n\n)\n"}]}
833
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.generate_report Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.generate_report`: Supported Method Parameters\n\nreport_path = PWN::Plugins::OwaspZap.generate_report(\n\nzap_obj: 'required - zap_obj returned from #open method',\noutput_dir: 'required - directory to save report',\nreport_type: 'required - <html|markdown|xml>'\n\n)\n"}]}
834
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.help Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.help`: "}]}
835
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.import_openapi_spec_file Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.import_openapi_spec_file`: Supported Method Parameters\n\nPWN::Plugins::OwaspZap.import_openapi_spec_file(\n\nzap_obj: 'required - zap_obj returned from #open method',\nspec: 'required - path to OpenAPI spec file (e.g. /path/to/openapi.yaml)',\ntarget: 'required - target URL to ovverride the service URL in the OpenAPI spec (e.g. https://fq.dn)',\ncontext_id: 'optional - ID of the ZAP context (Defaults to first context, if any)',\nuser_id: 'optional - ID of the ZAP user (Defaults to first user, if any)'\n\n)\n"}]}
836
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.request Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.request`: Supported Method Parameters\n\nwatir_resp = PWN::Plugins::OwaspZap.request(\n\nzap_obj: 'required - zap_obj returned from #open method',\nbrowser_obj: 'required - browser_obj w/ browser_type: :firefox||:headless returned from #open method',\ninstruction: 'required - watir instruction to make (e.g. button(text: \"Google Search\").click)'\n\n)\n"}]}
837
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.spider Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.spider`: Supported Method Parameters\n\nPWN::Plugins::OwaspZap.spider(\n\nzap_obj: 'required - zap_obj returned from #open method',\ntarget: 'required - url to spider'\n\n)\n"}]}
838
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.start Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.start`: Supported Method Parameters\n\nzap_obj = PWN::Plugins::OwaspZap.start(\n\napi_key: 'required - api key for API authorization',\nzap_bin_path: 'optional - path to zap.sh file'\nheadless: 'optional - run zap headless if set to true',\nproxy: 'optional - change local zap proxy listener (defaults to http://127.0.0.1:<Random 1024-65535>)',\n\n)\n"}]}
839
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.stop Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.stop`: Supported Method Parameters\n\nPWN::Plugins::OwaspZap.stop(\n\n:zap_obj => 'required - zap_obj returned from #start method'\n\n\n)\n"}]}
840
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.tamper Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.tamper`: Supported Method Parameters\n\nPWN::Plugins::OwaspZap.tamper(\n\nzap_obj: 'required - zap_obj returned from #open method',\ndomain: 'required - FQDN to tamper (e.g. test.domain.local)',\nenabled: 'optional - boolean (defaults to true)'\n\n)\n"}]}
841
- {"messages":[{"role":"user","content":"PWN::Plugins::OwaspZap.zap_rest_call Usage"},{"role":"assistant","content":"`PWN::Plugins::OwaspZap.zap_rest_call`: Supported Method Parameters\n\nzap_rest_call(\n\nzap_obj: 'required zap_obj returned from #start method',\nrest_call: 'required rest call to make per the schema',\nhttp_method: 'optional HTTP method (defaults to GET)\nhttp_body: 'optional HTTP body sent in HTTP methods that support it e.g. POST'\n\n)\n"}]}
842
829
  {"messages":[{"role":"user","content":"PWN::Plugins::PDFParse.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::PDFParse.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
843
830
  {"messages":[{"role":"user","content":"PWN::Plugins::PDFParse.help Usage"},{"role":"assistant","content":"`PWN::Plugins::PDFParse.help`: "}]}
844
831
  {"messages":[{"role":"user","content":"PWN::Plugins::PDFParse.read_text Usage"},{"role":"assistant","content":"`PWN::Plugins::PDFParse.read_text`: Supported Method Parameters\n\nPWN::Plugins::PDFParse.read_text(\n\npdf_path: 'optional path to dir defaults to .'\n\n)\n"}]}
@@ -1046,10 +1033,26 @@
1046
1033
  {"messages":[{"role":"user","content":"PWN::Plugins::XXD.fill_range_w_byte Usage"},{"role":"assistant","content":"`PWN::Plugins::XXD.fill_range_w_byte`: Supported Method Parameters\n\nhexdump = PWN::Plugins::XXD.fill_range_w_byte(\n\nhexdump: 'required - hexdump returned from #dump method',\nstart_addr: 'required - start address to fill with byte',\nend_addr: 'required - end address to fill with byte',\nbyte: 'required - byte to fill range with'\n\n)\n"}]}
1047
1034
  {"messages":[{"role":"user","content":"PWN::Plugins::XXD.help Usage"},{"role":"assistant","content":"`PWN::Plugins::XXD.help`: "}]}
1048
1035
  {"messages":[{"role":"user","content":"PWN::Plugins::XXD.reverse_dump Usage"},{"role":"assistant","content":"`PWN::Plugins::XXD.reverse_dump`: Supported Method Parameters\n\nPWN::Plugins::XXD.reverse_dump(\n\nhexdump: 'required - hexdump returned from #dump method',\nfile: 'required - path to binary file to dump',\nbyte_chunks: 'optional - if set, will write n byte chunks of hexdump to multiple files'\n\n)\n"}]}
1036
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.active_scan Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.active_scan`: Supported Method Parameters\n\nPWN::Plugins::Zaproxy.active_scan(\n\nzap_obj: 'required - zap_obj returned from #open method',\ntarget_url: 'required - url to scan',\nscan_policy: 'optional - scan policy to use (defaults to Default Policy)'\n\n)\n"}]}
1037
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.alerts Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.alerts`: Supported Method Parameters\n\nPWN::Plugins::Zaproxy.alerts(\n\nzap_obj: 'required - zap_obj returned from #open method',\ntarget_url: 'required - base url to return alerts'\n\n)\n"}]}
1038
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1039
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.breakpoint Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.breakpoint`: Supported Method Parameters\n\nPWN::Plugins::Zaproxy.breakpoint(\n\nzap_obj: 'required - zap_obj returned from #open method',\nregex_type: 'required - :url, :request_header, :request_body, :response_header or :response_body',\nregex_pattern: 'required - regex pattern to search for respective regex_type',\nenabled: 'optional - boolean (defaults to true)'\n\n)\n"}]}
1040
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.generate_scan_report Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.generate_scan_report`: Supported Method Parameters\n\nreport_path = PWN::Plugins::Zaproxy.generate_scan_report(\n\nzap_obj: 'required - zap_obj returned from #open method',\noutput_dir: 'required - directory to save report',\nreport_type: 'required - <:html|:markdown|:xml>'\n\n)\n"}]}
1041
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.help Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.help`: "}]}
1042
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.import_openapi_to_sitemap Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.import_openapi_to_sitemap`: Supported Method Parameters\n\nPWN::Plugins::Zaproxy.import_openapi_to_sitemap(\n\nzap_obj: 'required - zap_obj returned from #open method',\nopenapi_spec: 'required - path to OpenAPI JSON or YAML spec file'\n\n)\n"}]}
1043
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.request Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.request`: Supported Method Parameters\n\nwatir_resp = PWN::Plugins::Zaproxy.request(\n\nzap_obj: 'required - zap_obj returned from #open method',\nbrowser_obj: 'required - browser_obj w/ browser_type: :firefox||:headless returned from #open method',\ninstruction: 'required - watir instruction to make (e.g. button(text: \"Google Search\").click)'\n\n)\n"}]}
1044
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.spider Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.spider`: Supported Method Parameters\n\nPWN::Plugins::Zaproxy.spider(\n\nzap_obj: 'required - zap_obj returned from #open method',\ntarget_url: 'required - url to spider'\n\n)\n"}]}
1045
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.start Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.start`: Supported Method Parameters\n\nzap_obj = PWN::Plugins::Zaproxy.start(\n\napi_key: 'required - api key for API authorization',\nzap_bin_path: 'optional - path to zap.sh file'\nheadless: 'optional - run zap headless if set to true',\nbrowser_type: 'optional - defaults to :firefox. See PWN::Plugins::TransparentBrowser.help for a list of types',\nproxy: 'optional - change local zap proxy listener (defaults to http://127.0.0.1:<Random 1024-65535>)',\n\n)\n"}]}
1046
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.stop Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.stop`: Supported Method Parameters\n\nPWN::Plugins::Zaproxy.stop(\n\nzap_obj: 'required - zap_obj returned from #open method'\n\n)\n"}]}
1047
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.tamper Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.tamper`: Supported Method Parameters\n\nPWN::Plugins::Zaproxy.tamper(\n\nzap_obj: 'required - zap_obj returned from #open method',\ndomain: 'required - FQDN to tamper (e.g. test.domain.local)',\nenabled: 'optional - boolean (defaults to true)'\n\n)\n"}]}
1048
+ {"messages":[{"role":"user","content":"PWN::Plugins::Zaproxy.zap_rest_call Usage"},{"role":"assistant","content":"`PWN::Plugins::Zaproxy.zap_rest_call`: Supported Method Parameters\n\nzap_rest_call(\n\nzap_obj: 'required zap_obj returned from #start method',\nrest_call: 'required rest call to make per the schema',\nhttp_method: 'optional HTTP method (defaults to GET)\nhttp_body: 'optional HTTP body sent in HTTP methods that support it e.g. POST'\n\n)\n"}]}
1049
1049
  {"messages":[{"role":"user","content":"PWN::Reports.help Usage"},{"role":"assistant","content":"`PWN::Reports.help`: "}]}
1050
1050
  {"messages":[{"role":"user","content":"PWN::Reports::Fuzz.authors Usage"},{"role":"assistant","content":"`PWN::Reports::Fuzz.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1051
1051
  {"messages":[{"role":"user","content":"PWN::Reports::Fuzz.generate Usage"},{"role":"assistant","content":"`PWN::Reports::Fuzz.generate`: Supported Method Parameters\n\nPWN::Reports::Fuzz.generate(\n\ndir_path: dir_path,\nresults_hash: results_hash,\nchar_encoding: 'optional - character encoding returned by PWN::Plugins::Char.list_encoders (defaults to UTF-8)'\n\n)\n"}]}
1052
1052
  {"messages":[{"role":"user","content":"PWN::Reports::Fuzz.help Usage"},{"role":"assistant","content":"`PWN::Reports::Fuzz.help`: "}]}
1053
+ {"messages":[{"role":"user","content":"PWN::Reports::HTMLFooter.authors Usage"},{"role":"assistant","content":"`PWN::Reports::HTMLFooter.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1054
+ {"messages":[{"role":"user","content":"PWN::Reports::HTMLFooter.generate Usage"},{"role":"assistant","content":"`PWN::Reports::HTMLFooter.generate`: Supported Method Parameters\n\nPWN::Reports::HTMLFooter.generate(\n\ncolumn_names: 'required - array of column names to use in the report table',\ndriver_src_uri: 'required - pwn driver source code uri',\n\n)\n"}]}
1055
+ {"messages":[{"role":"user","content":"PWN::Reports::HTMLFooter.help Usage"},{"role":"assistant","content":"`PWN::Reports::HTMLFooter.help`: "}]}
1053
1056
  {"messages":[{"role":"user","content":"PWN::Reports::HTMLHeader.authors Usage"},{"role":"assistant","content":"`PWN::Reports::HTMLHeader.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1054
1057
  {"messages":[{"role":"user","content":"PWN::Reports::HTMLHeader.generate Usage"},{"role":"assistant","content":"`PWN::Reports::HTMLHeader.generate`: Supported Method Parameters\n\nPWN::Reports::HTMLHeader.generate(\n\ncolumn_names: 'required - array of column names to use in the report table',\ndriver_src_uri: 'required - pwn driver source code uri',\n\n)\n"}]}
1055
1058
  {"messages":[{"role":"user","content":"PWN::Reports::HTMLHeader.help Usage"},{"role":"assistant","content":"`PWN::Reports::HTMLHeader.help`: "}]}
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.399
4
+ version: 0.5.401
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -127,14 +127,14 @@ dependencies:
127
127
  requirements:
128
128
  - - ">="
129
129
  - !ruby/object:Gem::Version
130
- version: 2.7.1
130
+ version: 2.7.2
131
131
  type: :development
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - ">="
136
136
  - !ruby/object:Gem::Version
137
- version: 2.7.1
137
+ version: 2.7.2
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: bundler-audit
140
140
  requirement: !ruby/object:Gem::Requirement
@@ -2379,7 +2379,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2379
2379
  - !ruby/object:Gem::Version
2380
2380
  version: '0'
2381
2381
  requirements: []
2382
- rubygems_version: 3.7.1
2382
+ rubygems_version: 3.7.2
2383
2383
  specification_version: 4
2384
2384
  summary: Automated Security Testing for CI/CD Pipelines & Beyond
2385
2385
  test_files: []