pwn 0.5.461 → 0.5.462
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 +4 -4
- data/Gemfile +2 -2
- data/README.md +3 -3
- data/lib/pwn/plugins/jira_server.rb +51 -35
- data/lib/pwn/version.rb +1 -1
- data/third_party/pwn_rdoc.jsonl +11 -10
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f371cf3eb02a4607a5beee3b2ed121d32fde6668f999a07ab9fd999932ca6e86
|
4
|
+
data.tar.gz: 0dc423db8c188f9bd0857030df2c4ebf4a383a6ce0bb6e0830f12684de1b304e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 595c9d855daf84c494de3d020255e8d2535b4d7cdaec299a43b67fcecd69555809137c3bd77849092be8181b21105391a35f700ecc01f9bd1ab4cc96fc20767d
|
7
|
+
data.tar.gz: bb1e0d1b2745d3aa38e122274f3740b01eb4a03e43e26163b33dcbffa5681a26b86214c33a43a63a824b6d6dd60622c7314e9d1cbb35111660623968b239d51c
|
data/Gemfile
CHANGED
@@ -87,8 +87,8 @@ gem 'ruby-nmap', '1.0.3'
|
|
87
87
|
gem 'ruby-saml', '1.18.1'
|
88
88
|
gem 'rvm', '1.11.3.9'
|
89
89
|
gem 'savon', '2.15.1'
|
90
|
-
gem 'selenium-devtools', '0.
|
91
|
-
gem 'selenium-webdriver', '4.
|
90
|
+
gem 'selenium-devtools', '0.141.0'
|
91
|
+
gem 'selenium-webdriver', '4.37.0'
|
92
92
|
gem 'slack-ruby-client', '3.0.0'
|
93
93
|
gem 'socksify', '1.8.1'
|
94
94
|
gem 'spreadsheet', '1.3.4'
|
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.
|
40
|
+
pwn[v0.5.462]:001 >>> PWN.help
|
41
41
|
```
|
42
42
|
|
43
43
|
[](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.
|
55
|
+
pwn[v0.5.462]: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.
|
65
|
+
pwn[v0.5.462]: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:
|
@@ -53,45 +53,61 @@ module PWN
|
|
53
53
|
max_request_attempts = 3
|
54
54
|
tot_request_attempts ||= 1
|
55
55
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
56
|
+
begin
|
57
|
+
case http_method
|
58
|
+
when :delete, :get
|
59
|
+
headers[:params] = params
|
60
|
+
response = rest_client.execute(
|
61
|
+
method: http_method,
|
62
|
+
url: "#{base_uri}/#{rest_call}",
|
63
|
+
headers: headers,
|
64
|
+
verify_ssl: false,
|
65
|
+
timeout: 180
|
66
|
+
)
|
66
67
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
68
|
+
when :post, :put
|
69
|
+
if http_body.is_a?(Hash)
|
70
|
+
if http_body.key?(:multipart)
|
71
|
+
headers[:content_type] = 'multipart/form-data'
|
72
|
+
headers[:x_atlassian_token] = 'no-check'
|
73
|
+
else
|
74
|
+
http_body = http_body.to_json
|
75
|
+
end
|
74
76
|
end
|
75
|
-
end
|
76
77
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
78
|
+
response = rest_client.execute(
|
79
|
+
method: http_method,
|
80
|
+
url: "#{base_uri}/#{rest_call}",
|
81
|
+
headers: headers,
|
82
|
+
payload: http_body,
|
83
|
+
verify_ssl: false,
|
84
|
+
timeout: 180
|
85
|
+
)
|
86
|
+
else
|
87
|
+
raise @@logger.error("Unsupported HTTP Method #{http_method} for #{self} Plugin")
|
88
|
+
end
|
88
89
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
90
|
+
case response.code
|
91
|
+
when 201, 204
|
92
|
+
response = { http_response_code: response.code }
|
93
|
+
else
|
94
|
+
response = JSON.parse(response, symbolize_names: true) if response.is_a?(RestClient::Response)
|
95
|
+
response[:http_response_code] = response.code if response.is_a?(RestClient::Response)
|
96
|
+
end
|
97
|
+
rescue RestClient::ExceptionWithResponse => e
|
98
|
+
# Do our best to clone issues with custom fields that
|
99
|
+
# may not be compatible for the current context.
|
100
|
+
if rest_call == 'issue' &&
|
101
|
+
http_method == :post &&
|
102
|
+
e.response.body.keys.include?(:errors) &&
|
103
|
+
e.response.code == 400
|
104
|
+
|
105
|
+
errors = e.response.body[:errors]
|
106
|
+
incompatible_fields = errors.keys
|
107
|
+
http_body[:fields] = http_body[:fields].except(*incompatible_fields)
|
108
|
+
|
109
|
+
retry
|
110
|
+
end
|
95
111
|
end
|
96
112
|
|
97
113
|
response
|
data/lib/pwn/version.rb
CHANGED
data/third_party/pwn_rdoc.jsonl
CHANGED
@@ -458,11 +458,11 @@
|
|
458
458
|
{"messages":[{"role":"user","content":"PWN::Blockchain::ETH.get_latest_block Usage"},{"role":"assistant","content":"`PWN::Blockchain::ETH.get_latest_block`: Supported Method Parameters\n\nlatest_block = PWN::Blockchain::ETH.get_latest_block(\n\ntoken: 'optional - API token for higher rate limits'\n\n)\n"}]}
|
459
459
|
{"messages":[{"role":"user","content":"PWN::Blockchain::ETH.help Usage"},{"role":"assistant","content":"`PWN::Blockchain::ETH.help`: "}]}
|
460
460
|
{"messages":[{"role":"user","content":"PWN::Config.authors Usage"},{"role":"assistant","content":"`PWN::Config.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
461
|
-
{"messages":[{"role":"user","content":"PWN::Config.default_env Usage"},{"role":"assistant","content":"`PWN::Config.default_env`: Supported Method Parameters\n\nenv = PWN::Config.default_env\n"}]}
|
461
|
+
{"messages":[{"role":"user","content":"PWN::Config.default_env Usage"},{"role":"assistant","content":"`PWN::Config.default_env`: Supported Method Parameters\n\nenv = PWN::Config.default_env(\n\npwn_env_path: 'optional - Path to pwn.yaml file. Defaults to ~/.pwn/pwn.yaml'\n\n)\n"}]}
|
462
462
|
{"messages":[{"role":"user","content":"PWN::Config.help Usage"},{"role":"assistant","content":"`PWN::Config.help`: "}]}
|
463
463
|
{"messages":[{"role":"user","content":"PWN::Config.init_driver_options Usage"},{"role":"assistant","content":"`PWN::Config.init_driver_options`: Supported Method Parameters\n\nenv = PWN::Config.init_driver_options\n"}]}
|
464
464
|
{"messages":[{"role":"user","content":"PWN::Config.redact_sensitive_artifacts Usage"},{"role":"assistant","content":"`PWN::Config.redact_sensitive_artifacts`: Supported Method Parameters\n\nPWN::Config.redact_sensitive_artifacts(\n\nconfig: 'optional - Hash to redact sensitive artifacts from. Defaults to PWN::Env'\n\n)\n"}]}
|
465
|
-
{"messages":[{"role":"user","content":"PWN::Config.refresh_env Usage"},{"role":"assistant","content":"`PWN::Config.refresh_env`: Supported Method Parameters\n\nPWN::Config.refresh_env(\n\npwn_env_path: 'optional - Path to pwn.yaml file. Defaults to ~/.pwn/pwn.yaml',\npwn_dec_path: 'optional - Path to pwn.decryptor
|
465
|
+
{"messages":[{"role":"user","content":"PWN::Config.refresh_env Usage"},{"role":"assistant","content":"`PWN::Config.refresh_env`: Supported Method Parameters\n\nPWN::Config.refresh_env(\n\npwn_env_path: 'optional - Path to pwn.yaml file. Defaults to ~/.pwn/pwn.yaml',\npwn_dec_path: 'optional - Path to pwn.yaml.decryptor file. Defaults to ~/.pwn/pwn.yaml.decryptor'\n\n)\n"}]}
|
466
466
|
{"messages":[{"role":"user","content":"PWN::Driver.authors Usage"},{"role":"assistant","content":"`PWN::Driver.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
467
467
|
{"messages":[{"role":"user","content":"PWN::Driver.help Usage"},{"role":"assistant","content":"`PWN::Driver.help`: "}]}
|
468
468
|
{"messages":[{"role":"user","content":"PWN::Driver::Parser.new Usage"},{"role":"assistant","content":"`PWN::Driver::Parser.new`: "}]}
|
@@ -737,16 +737,17 @@
|
|
737
737
|
{"messages":[{"role":"user","content":"PWN::Plugins::Jenkins.list_nested_jobs Usage"},{"role":"assistant","content":"`PWN::Plugins::Jenkins.list_nested_jobs`: Supported Method Parameters\n\nPWN::Plugins::Jenkins.list_nested_jobs(\n\njenkins_obj: 'required jenkins_obj returned from #connect method',\nview_path: 'required view path to list jobs'\n\n)\n"}]}
|
738
738
|
{"messages":[{"role":"user","content":"PWN::Plugins::Jenkins.list_nested_views Usage"},{"role":"assistant","content":"`PWN::Plugins::Jenkins.list_nested_views`: Supported Method Parameters\n\nPWN::Plugins::Jenkins.list_nested_views(\n\njenkins_obj: 'required jenkins_obj returned from #connect method',\nview_path: 'required view path list sub-views'\n\n)\n"}]}
|
739
739
|
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
740
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.
|
741
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.
|
742
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.
|
743
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.
|
744
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.
|
745
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.
|
740
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.clone_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.clone_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.clone_issue(\n\nissue: 'required - issue to clone (e.g. Bug, Issue, Story, or Epic ID)'\n\n)\n"}]}
|
741
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.create_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.create_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.create_issue(\n\nproject_key: 'required - project key (e.g. PWN)',\nsummary: 'required - summary of the issue (e.g. Epic for PWN-1337)',\nissue_type: 'required - issue type (e.g. :epic, :story, :bug)',\ndescription: 'optional - description of the issue',\nepic_name: 'optional - name of the epic',\nadditional_fields: 'optional - additional fields to set in the issue (e.g. labels, components, custom fields, etc.)'\nattachments: 'optional - array of attachment paths to upload to the issue (e.g. [\"/tmp/file1.txt\", \"/tmp/file2.txt\"])',\ncomment: 'optional - comment to add to the issue (e.g. \"This is a comment\")'\n\n)\n"}]}
|
742
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.delete_attachment Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.delete_attachment`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.delete_attachment(\n\nid: 'required - attachment ID to delete (e.g. 10000) found in #get_issue method'\n\n)\n"}]}
|
743
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.delete_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.delete_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.delete_issue(\n\nissue: 'required - issue to delete (e.g. Bug, Issue, Story, or Epic ID)'\n\n)\n"}]}
|
744
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_all_fields Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_all_fields`: Supported Method Parameters\n\nall_fields = PWN::Plugins::JiraServer.get_all_fields\n"}]}
|
745
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.get_issue(\n\nissue: 'required - issue to lookup (e.g. Bug, Issue, Story, or Epic ID)',\nparams: 'optional - additional parameters to pass in the URI (e.g. fields, expand, etc.)'\n\n)\n"}]}
|
746
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_user Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_user`: Supported Method Parameters\n\nuser = PWN::Plugins::JiraServer.get_user(\n\nusername: 'required - username to lookup (e.g. jane.doe)',\nparams: 'optional - additional parameters to pass in the URI (e.g. expand, etc.)'\n\n)\n"}]}
|
746
747
|
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.help Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.help`: "}]}
|
747
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.issue_comment Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.issue_comment`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.issue_comment(\n\
|
748
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.issue_comment Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.issue_comment`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.issue_comment(\n\nissue: 'required - issue to delete (e.g. Bug, Issue, Story, or Epic ID)',\ncomment_action: 'required - action to perform on the issue comment (e.g. :delete, :add, :update - Defaults to :add)',\ncomment_id: 'optional - comment ID to delete or update (e.g. 10000)',\nauthor: 'optional - author of the comment (e.g. \"jane.doe\")',\ncomment: 'optional - comment to add or update in the issue (e.g. \"This is a comment\")'\n\n)\n"}]}
|
748
749
|
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.rest_call Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.rest_call`: Supported Method Parameters\n\nrest_call(\n\ntoken: 'required - personal access token',\nhttp_method: 'optional HTTP method (defaults to GET)',\nrest_call: 'required rest call to make per the schema',\nparams: 'optional params passed in the URI or HTTP Headers',\nhttp_body: 'optional HTTP body sent in HTTP methods that support it e.g. POST'\n\n)\n"}]}
|
749
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.update_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.update_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.update_issue(\n\
|
750
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.update_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.update_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.update_issue(\n\nfields: 'required - fields to update in the issue (e.g. summary, description, labels, components, custom fields, etc.)',\nattachments: 'optional - array of attachment paths to upload to the issue (e.g. [\"/tmp/file1.txt\", \"/tmp/file2.txt\"])',\n\n)\n"}]}
|
750
751
|
{"messages":[{"role":"user","content":"PWN::Plugins::Log.append Usage"},{"role":"assistant","content":"`PWN::Plugins::Log.append`: Supported Method Parameters\n\nPWN::Log.create( )\n"}]}
|
751
752
|
{"messages":[{"role":"user","content":"PWN::Plugins::Log.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::Log.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
752
753
|
{"messages":[{"role":"user","content":"PWN::Plugins::Log.help Usage"},{"role":"assistant","content":"`PWN::Plugins::Log.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.
|
4
|
+
version: 0.5.462
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 0day Inc.
|
@@ -1065,28 +1065,28 @@ dependencies:
|
|
1065
1065
|
requirements:
|
1066
1066
|
- - '='
|
1067
1067
|
- !ruby/object:Gem::Version
|
1068
|
-
version: 0.
|
1068
|
+
version: 0.141.0
|
1069
1069
|
type: :runtime
|
1070
1070
|
prerelease: false
|
1071
1071
|
version_requirements: !ruby/object:Gem::Requirement
|
1072
1072
|
requirements:
|
1073
1073
|
- - '='
|
1074
1074
|
- !ruby/object:Gem::Version
|
1075
|
-
version: 0.
|
1075
|
+
version: 0.141.0
|
1076
1076
|
- !ruby/object:Gem::Dependency
|
1077
1077
|
name: selenium-webdriver
|
1078
1078
|
requirement: !ruby/object:Gem::Requirement
|
1079
1079
|
requirements:
|
1080
1080
|
- - '='
|
1081
1081
|
- !ruby/object:Gem::Version
|
1082
|
-
version: 4.
|
1082
|
+
version: 4.37.0
|
1083
1083
|
type: :runtime
|
1084
1084
|
prerelease: false
|
1085
1085
|
version_requirements: !ruby/object:Gem::Requirement
|
1086
1086
|
requirements:
|
1087
1087
|
- - '='
|
1088
1088
|
- !ruby/object:Gem::Version
|
1089
|
-
version: 4.
|
1089
|
+
version: 4.37.0
|
1090
1090
|
- !ruby/object:Gem::Dependency
|
1091
1091
|
name: slack-ruby-client
|
1092
1092
|
requirement: !ruby/object:Gem::Requirement
|